私は3つのモデル:ブック、言語とオプションを持っています。マスターとマルガリータ、ローズの名前などの事前定義されたセットと言語(英語、ドイツ語、フランス語など)があります。各ブックインスタンスには、使用可能な言語の事前定義されたサブセットがあります(ManyToMany関係)。オプションモデルには、ブックフィールド(ForeignKeyとして)と言語フィールド(ManyToMany)が含まれます。私は、ユーザーが任意の本を選択できるようにフォームを構築し、このブックに関連するサブセットのみを表示するように言語クエリーセットを動的にフィルタリングする(選択後)。それはDjangoで可能ですか?Django - 別のフィールドに基づくフォームフォームフィールドのクエリーセット
関連モデル:
class Book (models.Model):
title = models.CharField (max_length = 128)
languages = models.ManyToManyField (Language, related_name = 'available_languages')
class Language (models.Model):
name = models.CharField (max_length=64)
abbreviation = models.CharField (max_length=4)
class Options (models.Model):
book = models.ForeignKey (Book, help_text = 'Text', null = True, blank = True)
languages = models.ManyToManyField (Language, related_name = 'languages', help_text = 'Languages')
ありがとうございます!それは箱から出てこなかったので、私はManyToManyFieldをBookからLanguageに移動しなければならなかったので、Options 'languages'フィールドは次のようになります: 'languages = ChainedManyToManyField(Language、chained_field =" book "、chained_model_field =" books " ) '。しかし今は完璧に動作しています! – user1785295