📅  最后修改于: 2023-12-03 15:36:26.012000             🧑  作者: Mango
在 Django 中,当您定义一个模型时,您可以指定字段是否可以为空。有时,您希望允许该字段为空,而在其他时候,您希望该字段始终存在值。本文将介绍如何使 Django 中的列可为空。
为了演示如何使列可为空,请考虑以下示例模型:
from django.db import models
class Book(models.Model):
title = models.CharField(max_length=100)
author = models.CharField(max_length=100)
description = models.TextField(null=True)
在上面的示例中,我们定义了一个名为 Book 的模型,它包含 title,author 和 description 字段。请注意,description 字段具有 null=True 参数,这意味着它可以为空。
如果您在模型中更改字段的 nullability(可以为空或不可为空),则需要运行 Django 数据库迁移以将更改应用于数据库架构。要运行迁移,请使用以下命令:
$ python manage.py makemigrations
$ python manage.py migrate
在 Django 中检查空值时,请记住将检查非空属性,而不是值本身。要检查列是否为空,请使用列名 + “__isnull”查询参数。下面是一个示例查询,用于查找没有描述的书籍:
empty_descriptions = Book.objects.filter(description__isnull=True)
要查找具有非空值的列,请使用列名 + “__isnull=False”查询参数。下面是一个示例查询,用于查找具有非空描述的书籍:
non_empty_descriptions = Book.objects.filter(description__isnull=False)
在 Django 中,使列可为空非常简单。只需将字段的 null 参数设置为 True 即可。在查询期间,请使用列名 + “__isnull”查询参数查找空值或非空值。如有疑问,请阅读Django官方文档: https://docs.djangoproject.com/en/3.2/ref/models/fields/#null