2010-08-06 91 views
2

我已閱讀(優秀)文檔,但我無法弄清楚如何使用 來做到這一點。django:根據其他表格數據對錶格數據進行排序

我有表示用戶的友誼稱爲 「候選清單」的表(包含字段「FROM_USER」和「to_user」:兩個外鍵的經典 AUTH_USER表即,FROM_USER結爲to_user)。

我有另一個表,我記錄用戶事件/行動(用戶日誌)。 在此表中有許多領域,包括「時間戳」和 當然「用戶」字段(一個外鍵AUTH_USER 表)

我怎麼能檢索表「入圍」的數據爲特定用戶用戶日誌表中的時間戳排序的 (from_user)?或者我怎樣才能檢索一個特定from_user的總數爲 的「to_user」操作記錄的數據清單?

換句話說,我想檢索所有用戶的朋友,這些朋友是 最活躍或通過最近的行動先排序。


感謝您的回答,但我想我可能需要一些更多的幫助。我想要做的是根據用戶的活動(最活躍的用戶優先)來訂購用戶。活動記錄在另一個表中。

比如我想要做這樣的事情(如果可能)

SELECT * FROM用戶U,(SELECT COUNT(ID)從用戶日誌L其中U.id = L.user_id)的行動命令由行動說明

我也想根據自己的最新動作如何做這些事情的任何想法(或最佳做法)對它們進行排序(蒙山用戶最近的操作,第一)

回答

4

Orderring被另一個表可能與相關領域的語法:

例子:

UserProfile.objects.all().order_by('user__username') 

要根據場計算的東西用annotations

+1

請注意使用時'與其他表order_by'在某些情況下,您可能會得到重複的行。爲了抵消這種行爲,你需要在queryset上調用'distinct()'。 – Wolph 2010-08-06 11:44:56

相關問題