X-Git-Url: http://git.ithinksw.org/philo.git/blobdiff_plain/e9e849a722cfb91df4e3b15e206eccbba76c772e..bd4a5d4671708123a15b7f034508926d68ae71f4:/models/base.py diff --git a/models/base.py b/models/base.py index 33c994c..718429b 100644 --- a/models/base.py +++ b/models/base.py @@ -4,6 +4,7 @@ from django.contrib.contenttypes import generic from django.utils import simplejson as json from django.core.exceptions import ObjectDoesNotExist from philo.exceptions import AncestorDoesNotExist +from philo.models.fields import JSONField from philo.utils import ContentTypeRegistryLimiter from philo.signals import entity_class_prepared from philo.validators import json_validator @@ -11,8 +12,8 @@ from UserDict import DictMixin class Tag(models.Model): - name = models.CharField(max_length=250) - slug = models.SlugField(unique=True) + name = models.CharField(max_length=255) + slug = models.SlugField(max_length=255, unique=True) def __unicode__(self): return self.name @@ -37,18 +38,7 @@ class Attribute(models.Model): entity_object_id = models.PositiveIntegerField(verbose_name='Entity ID') entity = generic.GenericForeignKey('entity_content_type', 'entity_object_id') key = models.CharField(max_length=255) - json_value = models.TextField(verbose_name='Value (JSON)', help_text='This value must be valid JSON.', validators=[json_validator]) - - def get_value(self): - return json.loads(self.json_value) - - def set_value(self, value): - self.json_value = json.dumps(value) - - def delete_value(self): - self.json_value = json.dumps(None) - - value = property(get_value, set_value, delete_value) + value = JSONField() #verbose_name='Value (JSON)', help_text='This value must be valid JSON.') def __unicode__(self): return u'"%s": %s' % (self.key, self.value)