2

カテゴリツリーがあり、カテゴリツリーにあるすべての製品を取得したいと思います。MPTTのドキュメントには、オブジェクトを取得するために呼び出すことができるメソッドしかないことが示されています。

関連するオブジェクトでどのように機能させることができるのか疑問に思っています。たとえば、この構文は理想的です。

Product.objects.get(Q(category__ancestors=my_category)|Q(category=my_category))

django-mpttにこのようなものはありますか?

4

1 に答える 1

2

get_descendants()クエリセットを製品クエリセットにネストしてみてください。

Product.objects.get(category__in=my_category.get_descendants(include_self=True))

それは行うことと同じであるはずです:

Product.objects.get(category__pk__in=my_category.get_descendants(include_self=True).values_list('pk'))
于 2012-03-22T07:42:30.010 に答える