1

デフォルトの django 1.0.2 ManyToManyField ウィジェット (複数選択) は、選択ボックスに多くの項目がある場合に使用するのが困難です。テキストエリアに ID のコンマ区切りリストを表示する別のウィジェットはありますか? これが利用できない場合、それを作成して ModelForm.as_p() および管理サイトに表示するにはどうすればよいですか?

4

3 に答える 3

2

必要なことを実行する既存のウィジェットがない場合 (そして、私は存在しないと思います)、独自のウィジェットを作成する必要があります。残念ながら、Django のドキュメントにはこれを行う方法が示されていませんがforms/widgets.py、既存のウィジェットをコピーして変更するソース コードを見て理解するのは難しくありません。

于 2009-04-19T19:57:56.990 に答える
2

manytomanyfield に raw_id_fields を設定すると、実際には ID のコンマ区切りリストを含む TextInput ウィジェットが出力されると思います。対応する ModelForm の admin.py でこれをオーバーライドし、それに TextArea ウィジェットを強制することができます。

于 2009-06-19T16:50:44.623 に答える
1

管理者では、 水平フィルターおよび/または垂直フィルターを使用できます。

class MyModelAdmin(admin.ModelAdmin):
    filter_horizontal = ['many_to_many_field_name']
    filter_horizontal = ['another_many_to_many_field_name']

doc

于 2009-04-19T12:29:44.323 に答える