找到没有孩子的最早的物体 - Django

时间:2013-09-07 14:57:27

标签: django foreign-key-relationship django-queryset

我要做的是找到没有相关article的最早article_history

这是我尝试的,但不起作用:

the_article = Article.objects.filter(cowcode=country).filter(pubdate__range=(start_date,end_date)).exclude(article_history_set__id > 0).order_by('pubdate')[0]

我这背后的想法是,查询一直有效,直到排除:我得到所有符合条件的文章。由于我想查找尚未附加article history的最早文章,exclude所有文章都包含article_history id> 0应该工作。为什么不呢?

如果有人可以帮助我,那会很棒。

1 个答案:

答案 0 :(得分:2)

尝试

...end_date)).filter(article_history_set__isnull=True).order_by...

...end_date)).exclude(article_history_set__isnull=False).order_by…

如果你有自我关系外键作为亲子,你可以这样做:

....filter(children__isnull=True).order_by...

....exclude(children__isnull=False).order_by...