我的Django版本是1.7。
我有一个名为Booking
的模型,它有一个名为is_departure
的布尔字段,用于描述预订是出发还是到达。
class Booking(models.Model):
...
is_departure = models.BooleanField()
...
当我迁移我的应用时,它会向我返回is_departure
没有默认值的警告。
但是,我不想为is_departure
添加默认值。这是必需值,需要由用户填写。我也不想使用NullBooleanField,因为is_departure
不应为null。
有什么好方法可以删除此警告吗?
答案 0 :(得分:2)
问题是,Django将所有现有行的值作为现在具有is_departure
值的值,根据您,不能为空,您无法满足这种约束。
如果你还在开发中,那么你可以重置数据库,你确实可以使用BooleanField
而没有默认值(因为没有违反此行的现有行)
否则,我会使迁移在现有行上放置is_departure
值(true或false),与业务逻辑一致