Kaydet (Commit) 6ef47cfe authored tarafından Malcolm Tredinnick's avatar Malcolm Tredinnick

To ensure that a model BooleanField has an explicit value set (and since it's

not required, by default), set the default properly in the constructor.

This code can be simplified when/if we resolve the
BooleanField/NullBooleanField overlap, but the current stuff is backwards
compatible. This would previously cause SQL errors on PostgreSQL and
interesting failures in subtle ways on MySQL and SQLite.


git-svn-id: http://code.djangoproject.com/svn/django/trunk@8050 bcc190cf-cafb-0310-a4f2-bffc1f526a37
üst c51d000c
...@@ -477,6 +477,8 @@ class AutoField(Field): ...@@ -477,6 +477,8 @@ class AutoField(Field):
class BooleanField(Field): class BooleanField(Field):
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
kwargs['blank'] = True kwargs['blank'] = True
if 'default' not in kwargs and not kwargs.get('null'):
kwargs['default'] = False
Field.__init__(self, *args, **kwargs) Field.__init__(self, *args, **kwargs)
def get_internal_type(self): def get_internal_type(self):
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment