私はかなりDjangoを使い始めたばかりで、次のことを達成したいと考えています.2つのテーブル間に関係があります.テーブルBにはテーブルAへのManyToMany参照があるとします.今、オプションをAとの間の特定の組み合わせに保存するOptionsというテーブルが必要です. B. どうすればこれを達成できますか?
ありがとう!
ヒデ
私はかなりDjangoを使い始めたばかりで、次のことを達成したいと考えています.2つのテーブル間に関係があります.テーブルBにはテーブルAへのManyToMany参照があるとします.今、オプションをAとの間の特定の組み合わせに保存するOptionsというテーブルが必要です. B. どうすればこれを達成できますか?
ありがとう!
ヒデ
フィールドのthrough
オプションを使用して、リレーションシップ自体に情報を追加します。ManyToMany
例えば
class Ingredient(models.Model):
name = models.TextField()
class Recipe(models.Model):
name = models.TextField()
ingredients = models.ManyToManyField(Ingredient, through='RecipePart')
class RecipePart(models.Model)
recipe = models.ForeignKey(Recipe)
ingredient = models.ForeignKey(Ingredient)
amount = models.IntegerField()
# ...
RecipePart(recipe=pizza, ingredient=cheese, amount=9001).save()
関係がすでに存在する場合(そしてすでにデータがある場合)、データベーススキーマを更新する必要があります(自動マッピングに慣れている場合はモデルを作成します)。南はあなたがこれをするのを助けることができます。