2017-10-05 46 views
0

我有舊Django版本的項目 - 1.5(我知道更好的是解壓到較新的版本,但現在這不是問題)。該代碼應該過濾來自未來的事件,但它不

我有代碼連接純SQL - 我想只有來自未來的事件 - 顯示在列表上。

這是我的代碼 - 我從過去得到的事件。 我嘗試沒有MIN(日期),但我得到了一個錯誤:

more than one row returned by a subquery used as an expression

@register.assignment_tag 
def get_teasers(): 
    return Teaser.objects.extra(select={'next_activity': 'SELECT MIN(date) FROM productions_activity WHERE productions_activity.production_id = home_teaser.production_id'}).filter(Q(online__lte=now()), Q(online_end__gte=now()) | Q(online_end__isnull=True)).order_by('next_activity') 
+0

你確定SQL ..我不看'home_teaser'從或加入 –

+0

@VaoTsun你可以檢查現在的代碼嗎? – user2962768

+0

它可能會做一些橫向子查詢?..對不起 - 我不明白如何選擇MIN(日期)從productions_activity WHERE productions_activity.production_id = home_teaser.production_id''工作,因爲它不應該孤立 –

回答

0

在句子的末尾添加.last()

+0

我得到一個錯誤: 'QuerySet'對象沒有屬性'last'' – user2962768

+0

你是對的,它不存在於django 1.5使用類似這樣的''order_by('next_activity')[ - 1] ' –

相關問題