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
This commit is contained in:
parent
c51d000c37
commit
6ef47cfe5f
|
@ -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):
|
||||||
|
|
Loading…
Reference in New Issue