如何将两个字段定义为“独特”的情侣
有没有办法将Django中的几个字段定义为唯一的?
我有一个卷子(杂志)的表格,我不希望同一个杂志的卷号更多。
class Volume(models.Model): id = models.AutoField(primary_key=True) journal_id = models.ForeignKey(Journals, db_column='jid', null=True, verbose_name = "Journal") volume_number = models.CharField('Volume Number', max_length=100) comments = models.TextField('Comments', max_length=4000, blank=True)
我试图把unique = True
作为属性在journal_id
和volume_number
字段,但它不起作用。
你有一个简单的解决scheme叫做unique_together ,它正是你想要的。
例如:
class MyModel(models.Model): field1 = models.CharField(max_length=50) field2 = models.CharField(max_length=50) class Meta: unique_together = ('field1', 'field2',)
在你的情况下:
class Volume(models.Model): id = models.AutoField(primary_key=True) journal_id = models.ForeignKey(Journals, db_column='jid', null=True, verbose_name = "Journal") volume_number = models.CharField('Volume Number', max_length=100) comments = models.TextField('Comments', max_length=4000, blank=True) class Meta: unique_together = ('journal_id', 'volume_number',)