1

ModelAdminにフィールド「search_fields」が含まれている場合、Djangoはリスト表示ページに検索ボックスを作成します。

私のインライン モデルの一部は、リスト ページの項目を参照しています。検索ボックスの用語がこれらのインライン モデルのフィールドと一致する場合、結果に参照先をリストに含めたいと思います。

例: データベースには、名前のテーブルとアドレスのテーブルがあります。名前ごとに、複数のアドレスが存在する場合があります。各アドレスは名前を参照します。名前のリストを検索するときに、「メイン ストリート」と入力して、住所を検索し、それらの住所が参照する名前を表示できるようにしたいと考えています。

検索ボックスに関連付けられている検索機能をオーバーライドする必要があると思います。それが正しい場合、その機能はどこにありますか?

4

1 に答える 1

3

あなたの質問を100%理解できるかどうかはわかりませんが、adminクラスでsearch_fieldsを設定することで、リスト表示の関連フィールドを検索できます。

class MyAdmin(admin.ModelAdmin):
    search_fields = ('name', 'name__address')

これは、通常のfilter()呼び出しで使用するのと同じ、リレーション全体での二重アンダースコア構文を使用します。

于 2009-05-25T19:09:50.653 に答える