我有3种不同的模型,它们都有索引字段(小的正整数)。如何让它们彼此独特?
我试图在models.py中覆盖保存模型,除了 ValidationError 异常之外,这项工作还不错。它将我重定向到错误页面,如果我将Debug = False,它根本不会显示我,只是“错误500”或类似的东西。 如果此验证在管理员页面中显示消息,而不刷新,那就太棒了。
也许有人知道如何正确验证这一点,或者如何以其他方式进行验证?
答案 0 :(得分:0)
也许第四个模型具有三个模型的外键并在第四个模型中使用unique_together元类属性? 仅举例!这不是合法的django代码。
Class Example(models.Model):
a = models.foreignKey
b = models.foreignKey
Class Meta:
unique_together = ('a', 'b')
答案 1 :(得分:0)
我想您在这些模型之间存在某种业务逻辑关系。为什么不使用在那里定义的唯一键创建parent
模型?即
class MasterModel(models.Model):
unique_attribute = models.CharField(unique=True)
class Child1(MasterModel):
.... specific fields here....
class Child2(MasterModel):
.... specific fields here....
class Child3(MasterModel):
.... specific fields here....