📜  BooleanField – Django 模型(1)

📅  最后修改于: 2023-12-03 15:13:40.665000             🧑  作者: Mango

BooleanField – Django 模型介绍

在 Django 模型中,BooleanField 是用来表示一个布尔值(True 或者 False)的字段类型。BooleanField 仅包含两种值:True 和 False,或者用 1 和 0 表示。在数据库中,BooleanField 通常会被转换为 TINYINT 类型或者 BOOLEAN 类型(取决于数据库类型)。

定义 BooleanField

在 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 的参数选项

BooleanField 字段提供了一些有用的参数选项,以便你更好地定义数据模型:

  • null:如果为 True,则允许字段值为 NULL。默认为 False。
  • blank:如果为 True,则允许字段值为空字符串。默认为 False。
  • default:默认值。如果未提供,则该字段默认值为 None。
  • primary_key:如果为 True,则此字段成为模型的主键。只能为一个字段设置此参数。默认为 False。
BooleanField 查询

在 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 是一种不错的选择。