0
我有我的django應用程序中的模型,有一個帖子/回覆關係,並試圖根據他們的最新回覆時間排序帖子,或者,如果沒有答覆,他們自己時間戳。這是我現在有:根據最新的孩子的時間戳或自己的時間戳排序帖子
threads = ConversationThread.objects.extra(select={'sort_date':
"""select case when (select count(*) from conversation_conversationpost
where conversation_conversationpost.thread_id = conversation_conversationthread.id) > 0
then (select max(conversation_conversationpost.post_date)
from conversation_conversationpost where conversation_conversationpost.thread_id = conversation_conversationthread.id)
else conversation_conversationthread.post_date end"""}).order_by('-sort_date')
雖然它的作品,我有一種預感,這是不是這樣做的最簡潔和有效的方式。什麼會更好?
謝謝,成功了!它沒有爲速度做任何事情,但至少代碼更易於維護。 – Tiki