我设置了 2 个模型文章和分类。分类是一个 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