【发布时间】:2015-11-14 10:42:36
【问题描述】:
我有一个这样的 Django 模型:
class Process(Place):
isRunning = models.BooleanField(default=True)
name = models.CharField(max_length=20)
当isRunning 为真时,我想强制name 字段是唯一的。
这种约束在 Django 模型中是否可行?
这可能是this question 的副本,但它没有一个公认的答案,自从被问到 Django 已经发展了很多。
【问题讨论】:
-
你可以指定
unique_togetherfields,但这也将强制name在isRunning是false的记录中是唯一的(即你有两组唯一的名字)......否则你可以自定义 model validation 虽然记住它只在保存 ModelForm 和 Django 管理员时自动调用,而不是在执行instance.save()
标签: django