我用下面的模型:正確的方式來處理獨特的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 :) –