Article と Taxonomy の 2 つのモデルを設定しました。Taxonomy は MPTTModel サブクラスです。
記事がリンクされていない親ノードを選択すると、子ノードにリンクされた記事は表示されません。
そのため、カスタム フィルターをコーディングしようとしていますが、クエリセット フィルター処理で行き詰まります。親ノードをクリックした場合、子ノードにリンクされたすべての記事を表示するようにこのクエリセットをフィルタリングするにはどうすればよいですか? :
class TaxonomyFilter(SimpleListFilter):
"""
Return incremented taxonomy list. Filtering by parent node display all children.
"""
title = ('Index')
parameter_name = 'node_id'
def lookups(self, request, model_admin):
taxos = Taxonomy.objects.all()
leafs = []
for taxo in taxos:
leafs.append((taxo.id,(taxo.name)))
return leafs
def queryset(self,request,queryset):
"""
Filter list by displaying children if parent node has any.
"""
if self.value():
return queryset.filter()
else:
return queryset