gpt4 book ai didi

django - 如何将两个字段 "unique"定义为一对

转载 作者:IT老高 更新时间:2023-10-28 12:06:40 25 4
gpt4 key购买 nike

有没有办法在 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_idvolume_number 字段中,但它不起作用。

最佳答案

有一个简单的解决方案,叫做 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',)

关于django - 如何将两个字段 "unique"定义为一对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2201598/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com