在Django中,布尔字段字段必须始终为真的形式可以通过以下两种方式解决:
from django.db import models
class MyModel(models.Model):
my_field = models.BooleanField(default=True)
上述代码中,my_field
是一个布尔字段,它的默认值为True。这意味着如果没有为该字段提供值,它将始终为True。
from django.db import models
from django.db.models.signals import pre_save
from django.dispatch import receiver
class MyModel(models.Model):
my_field = models.BooleanField()
@receiver(pre_save, sender=MyModel)
def set_my_field_true(sender, instance, **kwargs):
instance.my_field = True
上述代码中,我们定义了一个名为set_my_field_true
的信号接收器函数,并将其与pre_save
信号和MyModel
模型关联。当模型保存之前,信号接收器函数将被触发并将my_field
字段的值设置为True。这样,无论用户提供什么值,该字段始终为True。
这些解决方法可以确保布尔字段始终为True,即使用户没有提供值。
下一篇:布尔子集与命名索引