fix handling of spaces in names
[wolnelektury.git] / apps / sponsors / fields.py
index 26effc5..ba98081 100644 (file)
@@ -8,6 +8,7 @@ from django.conf import settings
 from django.db import models
 from django import forms
 from django.utils import simplejson as json
 from django.db import models
 from django import forms
 from django.utils import simplejson as json
+from south.modelsinspector import add_introspection_rules
 
 
 class JSONEncoder(json.JSONEncoder):
 
 
 class JSONEncoder(json.JSONEncoder):
@@ -31,7 +32,7 @@ def loads(str):
 
 class JSONFormField(forms.CharField):
     widget = forms.Textarea
 
 class JSONFormField(forms.CharField):
     widget = forms.Textarea
-    
+
     def clean(self, value):
         try:
             loads(value)
     def clean(self, value):
         try:
             loads(value)
@@ -46,7 +47,7 @@ class JSONField(models.TextField):
         defaults.update(kwargs)
         return super(JSONField, self).formfield(**defaults)
 
         defaults.update(kwargs)
         return super(JSONField, self).formfield(**defaults)
 
-    def db_type(self):
+    def db_type(self, connection):
         return 'text'
 
     def get_internal_type(self):
         return 'text'
 
     def get_internal_type(self):
@@ -54,7 +55,7 @@ class JSONField(models.TextField):
 
     def contribute_to_class(self, cls, name):
         super(JSONField, self).contribute_to_class(cls, name)
 
     def contribute_to_class(self, cls, name):
         super(JSONField, self).contribute_to_class(cls, name)
-        
+
         def get_value(model_instance):
             return loads(getattr(model_instance, self.attname, None))
         setattr(cls, 'get_%s_value' % self.name, get_value)
         def get_value(model_instance):
             return loads(getattr(model_instance, self.attname, None))
         setattr(cls, 'get_%s_value' % self.name, get_value)
@@ -62,3 +63,5 @@ class JSONField(models.TextField):
         def set_value(model_instance, json):
             return setattr(model_instance, self.attname, dumps(json))
         setattr(cls, 'set_%s_value' % self.name, set_value)
         def set_value(model_instance, json):
             return setattr(model_instance, self.attname, dumps(json))
         setattr(cls, 'set_%s_value' % self.name, set_value)
+
+add_introspection_rules([], [r"^sponsors\.fields\.JSONField"])