【问题标题】:Find earliest object that has no children - Django找到最早的没有孩子的对象 - Django
【发布时间】:2013-09-11 13:06:01
【问题描述】:

我要做的是找到最早的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 的最早的文章,所以excludeing 所有文章的article_history id > 0 的文章都应该有效。为什么不呢?

如果有人可以在这里帮助我,那就太棒了。

【问题讨论】:

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


    【解决方案1】:

    试试

    ...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...
    

    【讨论】:

    • 是的,我只需要添加“=False”,所以它看起来像这样:)).exclude(article_history_set__isnull=False).order_by…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-11
    • 2019-02-23
    • 1970-01-01
    • 1970-01-01
    • 2018-02-12
    • 1970-01-01
    相关资源
    最近更新 更多