2010-08-06 92 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

相关问题