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))