Andrew Godwin avatar Andrew Godwin committed ec28c77

Fix #463: Text/Char fields with blank=True don't need a default to be given.

Comments (0)

Files changed (1)

south/creator/actions.py

 import datetime
 
 from django.db.models.fields.related import RECURSIVE_RELATIONSHIP_CONSTANT
-from django.db.models.fields import FieldDoesNotExist, NOT_PROVIDED
+from django.db.models.fields import FieldDoesNotExist, NOT_PROVIDED, CharField, TextField
 
 from south import modelsinspector
 from south.creator.freezer import remove_useless_attributes, model_key
             self.deal_with_not_null_no_default()
 
     def deal_with_not_null_no_default(self):
+        # If it's a CharField or TextField that's blank, skip this step.
+        if isinstance(self.field, (CharField, TextField)) and self.field.blank:
+            self.field_def[2]['default'] = repr("")
+            return
         # Oh dear. Ask them what to do.
         print " ? The field '%s.%s' does not have a default specified, yet is NOT NULL." % (
             self.model._meta.object_name,
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.