私の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
)