2012-02-10 34 views
1

我有指它的自我(在父子,祖孫關係)一個Django模型。Django的查詢集讓孩子和孫子

我試圖執行一個查詢,將返回一個特定父的所有孩子和孫子實例。

因此,例如:

class Post(models.Model): 
    parent = models.ForeignKey('self', null=True, related_name="children") 

這種關係變爲3級深 - 什麼是讓所有的孩子/孫子查詢集的最佳方式?我想,讓他們都在一起,所以我可以按日期排序。

回答

6

我認爲這應該工作:

from django.db.models.query import Q 
Post.objects.filter(Q(parent = post) | Q(parent__parent = post))