私はアイテムとレシピ(それが作成するアイテムにリンクされています)を持っています。レシピはthrough
モデルを使用してレシピ内のアイテムの数を定義します。
今、私は次の問題を抱えています。数量に関係なく、アイテムを 1 回だけ持つようにレシピを制限したい。
したがって、アイテムがあり、 x1、x2 x2Bread
を追加するとします。その後、誰かがそれらのアイテムのいずれかを再度追加しようとした場合にエラーを発生させたいと考えています。Flour
Butter
Sunseeds
どうすればそれができますか?
アップデート
unique_together
との解決策にrecipe_id
なりitem_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'