Django Model中每个外键的唯一字段

use*_*508 9 django django-models

我正在定义一组模型,它们相互引用.它们是文档应用程序的模型,如下所示

class Document(models.Model):
    text = models.TextField()

class Chapter(models.Model):
    doc = models.ForeignKey('Document')
    chapter = models.IntegerField()
Run Code Online (Sandbox Code Playgroud)

我希望整个字段对于每个文档都是唯一的,但我不知道如何这样做.我知道每个字段都有一个唯一的参数,但它似乎对整个表都是唯一的,这不是我想要的.

Mou*_*nir 16

你可以在你的模型中使用独特的meta:

class Chapter(models.Model):
    doc = models.ForeignKey('Document')
    chapter = models.IntegerField()

    class Meta:
        unique_together = (("doc", "chapter"),)  
Run Code Online (Sandbox Code Playgroud)

这是文档