1. ホーム
  2. javascript

[解決済み] より良い Django Admin ManyToMany フィールドウィジェット

2022-11-17 23:42:46

質問

Django Admin のデフォルトの models.ManyToManyField ウィジェットは使いづらいと思います。それは HTML セレクト 要素で、"other" モデルのオブジェクトがたくさんある場合、"このオブジェクトに関連付けたい"other" オブジェクトを実際に探すのはかなり非現実的です。また、もし たくさん のオブジェクトがある場合、管理者ページのレンダリングが遅くなることさえあるようです。

私は、独自のカスタム管理ウィジェットを構築して、それを私の ManyToManyFields に適用できることは知っていますが、代わりに使えそうな既成のものはありますか? 夢の中で、テキスト入力の自動的なHTMLウィジェットを想像しています。これは Django の admin フレームワークで実用的/可能なのでしょうか?

ありがとうございます。

どのように解決するのですか?

を使用してみてください。 filter_horizontal 属性を使ってみてください。

class SomeModelAdmin(admin.ModelAdmin):
    filter_horizontal = ('users',)

で述べたように ドキュメント このリストに ManyToManyField を追加すると、代わりに、オプション内で検索できる巧妙で控えめな JavaScript の "filter" インターフェイスが使用されます" 。 filter_vertical は少し異なるレイアウトで同じことを行います。