我想确保一个对象是唯一的,如果不是,当用户尝试保存它(例如通过管理员)时抛出错误?唯一,我的意思是对象的某些属性可能与其他对象的属性值相同,但它们不能都与另一个对象的值相同。
如果我没记错的话,我可以这样做:
class Animal(models.Model):
common_name = models.CharField(max_length=150)
latin_name = models.CharField(max_length=150)
class Meta:
unique_together = ("common_name", "latin_name")
但是每次我重构模型时(例如添加一个新字段,或更改现有字段的名称),我还必须编辑分配给unique_together的括号中的字段列表。使用简单的模型没关系,但如果使用大量模型,重构过程中就会变得非常麻烦。
如何避免在unique_together括号中重复输入字段名称列表?有没有办法将模型的字段列表传递给一个变量并将该变量分配给unique_together呢?