在一个名为Issues
的模型中,我有一个名为paper
的many-to-many
字段。每个Issues
记录应有论文清单。但是paper
在issue
表中应该是唯一的。
换句话说,一个paper
只被添加到Issues
中一次,就不能再添加到Issues
表的任何其他记录中。
我如何实现它?
class Papers(models.Model):
'''
All the published papers
'''
title = models.CharField(max_length=300) # title
def __str__(self):
return self.title
class Issues(models.Model):
'''
All issues
'''
number = models.SmallIntegerField() # issue number
paper = models.ManyToManyField('Papers')
def __str__(self):
return str(self.number)
您只需要该用例的外键关系
class Papers(models.Model):
'''
All the published papers
'''
title = models.CharField(max_length=300) # title
issue = models.ForeignKey(Issues, on_delete=models.CASCADE)
def __str__(self):
return self.title
class Issues(models.Model):
'''
All issues
'''
number = models.SmallIntegerField() # issue number
def __str__(self):
return str(self.number)