django booleanfield是None而不是False

时间:2019-03-23 18:09:17

标签: django python-3.x django-models

我有一个具有以下模型定义的新应用程序:

class Sth(models.Model):
    ....
    is_cue = models.BooleanField(default=True)

。在shell中查询,我得到以下信息:

Sth.objects.filter().values_list('is_clue', flat=True)
<QuerySet [None, True, None]>

。我可以看到而不是 False

在以前的Django版本中,我以前只获取 False True 值。

什么可能导致此更改?在具有较旧版本和当前版本的数据库中,我可以在数据库中看到 0 1

我正在使用的版本是:

django: 2.1.7
python: 3.5.3
debian: 9.7
mysql-server: 5.5.9999+default
mariadb: mariadb-server-10.1 10.1.37-0+deb9u1

1 个答案:

答案 0 :(得分:0)

Django文档说

  

Field.default不为时,BooleanField的默认值为None。   定义

。 链接为here 如果要使用默认的False,则必须提及它。