在跨表的manymany字段中只添加一次值



在一个名为Issues的模型中,我有一个名为papermany-to-many字段。每个Issues记录应有论文清单。但是paperissue表中应该是唯一的。

换句话说,一个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)

相关内容

  • 没有找到相关文章

最新更新