私のDjango管理者のモデルのリストフィルターにフィルターがあり、選択した値に依存Categoryするフィルターを追加したいと思います。Sub-categoryCategory
を使用してこれを達成するにはどうすればよいModelAdmin.list_filterですか?
ありがとうございました
Sub-Category のSimpleListFilterを継承したクラスを作成します。
メソッド内で、 に一致するクエリ文字列が存在lookupsするかどうかを確認し、存在する場合は、このフィルターに基づいてクエリセットを作成します。request.GETCategory
次のようになります: (実際のモデルに応じて変更します。構文エラーがある可能性があります。コードはテストしていませんが、非常に似ているはずです)
class SubCategoryFilter(SimpleListFilter):
    title = 'sub category'
    parameter_name = 'sub_category'
    def lookups(self, request, model_admin):
        sub_categories = Category.objects;
        if 'category' in request.GET:
             sub_categories = sub_categories.filter(main_category=request.GET['category'])
        return (
            (sub_cat.pk,sub_cat.text) for sub_cat in sub_categories
        )