2015-10-22 79 views
1

我有一個django模型,它具有唯一的一起約束,但我需要一個特定的實例才能夠反覆重複。這可能嗎?Django模型唯一約束例外

name = models.ForeignKey(name) 
time = models.BigIntegerField() 

class Meta: 
    unique_together = ("name", "time",) 

我試圖讓時間= 0,併爲同一個用戶多次。但是,在其他情況下,時間需要獨特。

回答

2

A unique_together字段在數據庫級別上進行了驗證(請參閱documentation)。因此不可能例外。

解決方案可能是設置time = null而不是time = 0。 您的數據庫後端需要支持允許空值的唯一約束(see this post)。這是由大多數主要DBMS支持的,但不是全部。

如果您的數據庫不支持它,您將不得不編寫自定義表單驗證。

+1

time = null解決了問題。 – mcgruff14