gpt4 book ai didi

python - 对于一个 M2M 关系,条目只能出现一次

转载 作者:太空宇宙 更新时间:2023-11-03 18:53:30 25 4
gpt4 key购买 nike

我有项目和配方(链接到它创建的项目),其中配方使用 through 模型来定义配方中的项目数量。

现在我遇到以下问题;我想限制配方只能有一个项目一次,无论数量如何。

因此,如果我有商品面包并添加面粉 x1、黄油 x2 Sunseeds x2。之后,如果有人尝试再次添加这些项目之一,我想引发错误。

我怎样才能做到这一点?

更新

unique_together 将是一个解决方案,在 recipe_iditem_id 上?

更新 2(部分代码)

class Recipe_Has_Items(models.Model):

recipe = models.ForeignKey('Recipe')
item = models.ForeignKey('Item')
quantity = models.IntegerField(validators = [MinValueValidator(0)])

def __unicode__(self):
return '%s (%d)' % (self.item, self.quantity)

class Meta:
verbose_name = 'Recipe\'s Item'
verbose_name_plural = 'Recipe\'s Items'

最佳答案

据我了解,Recipe有一个ManyToManyFieldItem,并且在直通表中您定义了三个字段recipe > (ForeignKey)、item (ForeignKey) 和 item_count。现在您希望,对于一个配方,一个项目最多可以使用一次(item_count >= 1)。所以,是的,在表格中为 recipeitem 添加 unique_together 是可行的。

关于python - 对于一个 M2M 关系,条目只能出现一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17766294/

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