是否可以使用外键模型的字段制作UniqueConstraint
?
例如,我如何限制同一年龄作者撰写的所有书籍都具有唯一的标题? (一个人为的例子,但是您明白了。)
models.py:
class Author(models.Model):
name = models.CharField(max_length=100)
age = models.IntegerField()
class Book(models.Model):
class Meta:
contraints = [
models.UniqueConstraint(
# THIS DOESN'T WORK
fields=["author__age", "title"],
name="my_constraint",
)
]
title = models.CharField(max_length=100)
author = models.ForeignKey(Author, related_name="books")
这将产生以下错误:
django.core.exceptions.FieldDoesNotExist:图书没有名为'author__age]的字段>
'
是否可以使用外键模型的字段来创建UniqueConstraint?例如,如何约束同一年龄段作者撰写的所有书籍都具有唯一标题? (人为的...
否,UniqueConstraint
尚不能那样工作。 See this answer作为可能的选择。