X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/0a428c3de0e6bcfc863f105101ec1bdb44bbf9de..97397144f7ea06f15d3e6e3e3bdb5ddf59f5f1ed:/apps/catalogue/fields.py?ds=sidebyside diff --git a/apps/catalogue/fields.py b/apps/catalogue/fields.py index 55b38cc0a..d091b77c1 100644 --- a/apps/catalogue/fields.py +++ b/apps/catalogue/fields.py @@ -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))