Django MPTT获取相关对象

时间:2012-03-21 20:27:46

标签: python django django-mptt

我有一个类别树,我想获得类别树中的所有产品。 MPTT的文档表明它只有你可以调用来获取对象的方法。

我想知道如何让它与相关对象一起使用,例如,这种语法是理想的:

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

django-mptt中有这样的东西吗?

1 个答案:

答案 0 :(得分:1)

尝试在产品查询集中嵌套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'))