2013-09-07 2 views
1

Что я пытаюсь сделать, это найти самое раннее article, которое не имеет отношения к article_history.Найти самый ранний объект, у которого нет детей - Django

Вот что я пытался, но не работает:

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> 0, должны работать. Почему не так?

Было бы здорово, если бы кто-нибудь мог помочь мне здесь.

ответ

2

попробовать

...end_date)).filter(article_history_set__isnull).order_by... 

или

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

Awesome, спасибо! – LukasKawerau

+0

Вы уверены, что это работает с 'exclude' not' filter' –

+0

Да, мне нужно было добавить «= False», чтобы оно выглядело так: ')). Exclude (article_history_set__isnull = False) .order_by ...' – LukasKawerau

Смежные вопросы