Added setting extra_info on Book models during import.
[wolnelektury.git] / apps / catalogue / fields.py
index 55b38cc..d091b77 100644 (file)
@@ -4,7 +4,6 @@ import datetime
 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
@@ -45,7 +44,7 @@ class JSONField(models.TextField):
 
     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))
@@ -55,7 +54,8 @@ class JSONField(models.TextField):
             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))