📅  最后修改于: 2023-12-03 15:13:40.665000             🧑  作者: Mango
在 Django 模型中,BooleanField 是用来表示一个布尔值(True 或者 False)的字段类型。BooleanField 仅包含两种值:True 和 False,或者用 1 和 0 表示。在数据库中,BooleanField 通常会被转换为 TINYINT 类型或者 BOOLEAN 类型(取决于数据库类型)。
在 Django 中,定义一个 BooleanField 很简单,只需要在模型中添加相应的字段即可:
from django.db import models
class MyModel(models.Model):
is_published = models.BooleanField(default=False)
在模型中,我们定义了一个 BooleanField 字段 is_published,并设置了一个默认值为 False。在上述示例中,我们使用了 models.Model 类作为基类,以便使用 Django ORM 功能和模型定义的额外结构。
BooleanField 字段提供了一些有用的参数选项,以便你更好地定义数据模型:
null
:如果为 True,则允许字段值为 NULL。默认为 False。blank
:如果为 True,则允许字段值为空字符串。默认为 False。default
:默认值。如果未提供,则该字段默认值为 None。primary_key
:如果为 True,则此字段成为模型的主键。只能为一个字段设置此参数。默认为 False。在 Django ORM 中,我们可以使用过滤器来获取创建的模型实例。BooleanField 提供的过滤器有:
exact
:准确查询(即True/False)。isnull
:是否为 NULL。icontains
:包含查询。in
:包含于查询。is_true
:筛选为 True 的查询。is_false
:筛选为 False 的查询。例如,获取所有 is_published
字段为 True 的模型实例,可以按如下方式进行:
MyModel.objects.filter(is_published=True)
BooleanField 是 Django 模型中用来表示 True 或 False 的数据类型,具有多种配置选项,并且可以用于查询和过滤。对于需要存储 Boorean 类型的数据时使用 BooleanField 是一种不错的选择。