Commits

Andrew Godwin committed 4471a6c Merge

Branch merge

  • Participants
  • Parent commits a4b2ea9, 711e30a

Comments (0)

Files changed (2)

File south/db/generic.py

             sqlparams = ()
             # if the field is "NOT NULL" and a default value is provided, create the column with it
             # this allows the addition of a NOT NULL field to a table with existing rows
-            if not field.null and getattr(field, '_suppress_default', True) and field.has_default():
+            if not field.null and not getattr(field, '_suppress_default', False) and field.has_default():
                 default = field.get_default()
                 # If the default is actually None, don't add a default term
                 if default is not None:
                         default = "'%s'" % default
                     sql += " DEFAULT %s"
                     sqlparams = (default)
-            elif (not field.null and field.blank) or field.get_default() == '':
+            elif (not field.null and field.blank) or ((field.get_default() == '') and (not getattr(field, '_suppress_default', False))):
                 if field.empty_strings_allowed:
                     sql += " DEFAULT ''"
                 # Error here would be nice, but doesn't seem to play fair.

File south/db/mysql.py

         This particular override stops us sending DEFAULTs for BLOB/TEXT columns.
         """
         if field.db_type().upper() in ["BLOB", "TEXT", "LONGTEXT"]:
-            field._suppress_default = False
+            field._suppress_default = True
         return field