from django.conf import settings
from django.db import models
from django.db.models import signals
-from django.dispatch import dispatcher
from django import forms
from django.forms.widgets import flatatt
from django.forms.util import smart_unicode
def contribute_to_class(self, cls, name):
super(JSONField, self).contribute_to_class(cls, name)
- dispatcher.connect(self.post_init, signal=signals.post_init, sender=cls)
+ signals.post_init.connect(self.post_init, sender=cls)
def get_json(model_instance):
return dumps(getattr(model_instance, self.attname, None))
return setattr(model_instance, self.attname, loads(json))
setattr(cls, 'set_%s_json' % self.name, set_json)
- def post_init(self, instance=None):
+ def post_init(self, **kwargs):
+ instance = kwargs.get('instance', None)
value = self.value_from_object(instance)
if (value):
setattr(instance, self.attname, loads(value))