1. Andrew Godwin
  2. south


and...@69d324d9-c39d-4fdc-8679-7745eae9e2c8  committed 25c586a

Fix for #14: Default callables

  • Participants
  • Parent commits 4b4ef44
  • Branches default

Comments (0)

Files changed (1)

File db/generic.py

View file
             # this allows the addition of a NOT NULL field to a table with existing rows
             if not field.null and field.has_default():
                 default = field.get_default()
+                # If the default is a callable, then call it!
+                if callable(default):
+                    default = default()
+                # Now do some very cheap quoting. TODO: Redesign return values to avoid this.
                 if isinstance(default, basestring):
                     default = "'%s'" % default.replace("'", "''")
                 elif isinstance(default, datetime.date):