1

私は、django で 2 つの選択肢フィールドを持つフォームを実装するための最良の方法を見つけようとしています。例 - フォーム フィールド 1 は「料理」と呼ばれるラジオ ボタン (1 つのオプションのみを選択できます) であり、2 番目は「メニュー」と呼ばれる複数選択フィールドです。'cuisine' から 'french' を選択すると、メニュー リストにフランス料理が表示されますが、'chinese' を選択すると、別の選択肢が表示されます。

フォーム検証プロセスでこのサーバー側を操作するにはどうすればよいですか。料理オプションに関連する料理のみが受け入れられるように、2 つのコントロールを「バインド」するにはどうすればよいですか?

そして、これをどのようにレンダリングするのですか - 料理の種類ごとに ModelForm を渡す必要がありますか、それともすべてを含む単一のメニュー ModelForm を用意して、クライアント側で表示/非表示にするだけですか?

すべてのメニュー オプションはデータベースに保存され、フィクスチャとして読み込まれます。料理はアプリにハードコードされています。

CUISINE = ((0,'French'),(1,'Chinese'),(2,'Italian'))

class MenuItem(models.Model):
    description = models.CharField(max_length=200)
    cuisine = models.IntegerField('Cuisine', choices=CUISINE)
4

1 に答える 1

0
  1. レンダリングには、 django-selectableまたはdjango-autocomplete-lightを使用できます。

  2. サーバー側の検証については、django で完全に文書化されています。

于 2012-09-09T12:47:56.937 に答える