如何处理Django模型中没有默认值的所需值
Django的版本是1.7 我有一个名为如何处理Django模型中没有默认值的所需值,django,django-1.7,Django,Django 1.7,Django的版本是1.7 我有一个名为Booking的模型,它有一个名为is_deposition的布尔字段,用于描述预订是出发还是到达 class Booking(models.Model): ... is_departure = models.BooleanField() ... 当我迁移我的应用程序时,它将向我返回一条警告,is\u deposition没有默认值 但是,我不想为is_depenation添加默认值。这是一个必填值,需要用户填写。我也不想使用NullBool
Booking
的模型,它有一个名为is_deposition
的布尔字段,用于描述预订是出发还是到达
class Booking(models.Model):
...
is_departure = models.BooleanField()
...
当我迁移我的应用程序时,它将向我返回一条警告,is\u deposition
没有默认值
但是,我不想为is_depenation
添加默认值。这是一个必填值,需要用户填写。我也不想使用NullBooleanField,因为不应该为null
有什么好方法可以删除此警告吗?问题是,Django将为所有现有的行设置什么值,这些行现在有一个值,根据您的说法,该值不能为空,您无法满足此约束
如果您仍在开发中,那么您可以重置数据库,并且确实可以使用BooleanField
,而不使用默认值(因为不会有违反此规则的现有行)
否则,我会让迁移在现有行上放置一个is_deposition
值(true或false),与您的业务逻辑一致为什么不将默认值设置为false
?这会对您的业务逻辑产生负面影响吗?我的猜测是否定的。即使最终用户需要选择该值,您仍然可以将该值默认为False
@Brandon好的,我只是想看看是否有比将默认值设置为False更明智的方法。不是真的。如果最初将值设置为False
在某种程度上影响了您的业务逻辑,那么您可以始终使用NullBooleanField
并将初始值设置为null。