我用下面的模型:正确的方式来处理独特的NULL值
class FoodPlanningOnDemand(models.Model):
catspad = models.ForeignKey('Catspad', null=False, blank=False)
cat = models.ForeignKey('Cat', null=True, blank=True),
amount = models.PositiveIntegerField(null=False, blank=False, default=5)
food_limit = models.PositiveIntegerField(null=False, blank=False, default=0)
name = models.CharField(max_length=128, null=True, blank=True)
status = models.BooleanField(default=True, null=False)
class Meta:
unique_together = (('catspad', 'cat'))
的cat
场是某种特殊的,因为如果null
这意味着该计划涉及到所有的猫科动物。由于我不希望计划重复,我不希望null
值也是唯一的。但Django/Postgres不会将null
视为一个值,因此不会触发重复错误。
我该如何设法改变这种情况?我应该创建另一个领域? 我用尽了想法,感谢您的帮助。
空不Postgres的价值 - 这是'不VALUE'值,所以才分配“not_a_cat”像NaN或任何其他“不相同定义的值”值? 。 –
感谢您的评论。你认为NullableBoolean可以做到吗? –
postgres'boolean'有两个值 - 0/1 :) –