對於我的一個模型,我需要確保某些行的unicity,但只在某些情況下。只有「已驗證」的行應該遵循這個約束。唯一在一起的約束,包括特定的字段值
基本上,我期待着像
class MyModel(models.Model):
field_a = models.CharField()
field_b = models.CharField()
validated = models.BooleanField(default=False)
class Meta:
unique_together = (('field_a', 'field_b', 'validated=True'),)
使用'unique_together'通過發出'UNIQUE'語句不是在django級別在db級別強制執行;它看起來不像(至少mysql)支持條件唯一。你可以在應用程序級別實現你想要的行爲 – dm03514