2つのモデルの記事とタクソノミを設定しました。 分類はMPTTModelサブクラスです。Django admin + MPTT:親ノードをフィルタリングするときに子供を表示する方法は?
1つのこと以外はすべて正常に動作しています。リンクされているアーティクルのない親ノードを選択すると、子ノードにリンクされたアーティクルは表示されません。
私は自分のカスタムフィルタをコーディングしようとしていますが、クエリーセットのフィルタリングに悩まされています。子ノードにリンクされているすべての記事を表示するには、このクエリセットをフィルタリングできますかノード親ノードをクリックするとどうなりますか? :それはしかし、ここで同じ問題に直面して誰のための「作業ではなく、防弾」され、私たち自身の質問に答えるために大丈夫だ場合
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
ニース: あなたが
django-mptt
が付属していますtree_id
フィールドを使用することができます偽の一致を避けるために!アイデアありがとう – Matthieu