私のDjango管理者のモデルのリストフィルターにフィルターがあり、選択した値に依存Category
するフィルターを追加したいと思います。Sub-category
Category
を使用してこれを達成するにはどうすればよいModelAdmin.list_filter
ですか?
ありがとうございました
Sub-Category のSimpleListFilterを継承したクラスを作成します。
メソッド内で、 に一致するクエリ文字列が存在lookups
するかどうかを確認し、存在する場合は、このフィルターに基づいてクエリセットを作成します。request.GET
Category
次のようになります: (実際のモデルに応じて変更します。構文エラーがある可能性があります。コードはテストしていませんが、非常に似ているはずです)
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
)