+from django import forms
from django.db import models
from django.contrib.contenttypes.models import ContentType
from django.contrib.contenttypes import generic
def __unicode__(self):
return self.value_json
+ def value_formfield(self, *args, **kwargs):
+ kwargs['initial'] = self.value_json
+ return self._meta.get_field('value').formfield(*args, **kwargs)
+
class Meta:
app_label = 'philo'
def __unicode__(self):
return unicode(self.value)
+ def value_formfield(self, form_class=forms.ModelChoiceField, **kwargs):
+ if self.content_type is None:
+ return None
+ kwargs.update({'initial': self.object_id, 'required': False})
+ return form_class(self.content_type.model_class()._default_manager.all(), **kwargs)
+
class Meta:
app_label = 'philo'
def get_value_class(self, value):
if isinstance(value, models.query.QuerySet):
return ManyToManyValue
- elif isinstance(value, models.Model):
+ elif isinstance(value, models.Model) or (value is None and self.value_content_type.model_class() is ForeignKeyValue):
return ForeignKeyValue
else:
return JSONValue