我有一个django模型,它具有唯一的约束条件,但我需要一个特定的实例才能反复重复。这可能吗?
name = models.ForeignKey(name)
time = models.BigIntegerField()
class Meta:
unique_together = ("name", "time",)
我正在尝试获取时间= 0并且为同一个用户多次。但是,在每个其他实例中,它的时间必须是唯一的。
答案 0 :(得分:2)
在数据库级别验证unique_together
字段(请参阅documentation)。因此不可能例外。
解决方案可以是设置time = null而不是time = 0。 您的数据库后端需要支持允许空值(see this post)的唯一约束。这是大多数主要DBMS支持的,但不是全部。
如果您的数据库不支持它,您将必须编写自定义表单验证。