django:根据其他表数据对表数据进行排序

xpa*_*nta 3 sql django

我已经阅读了(优秀的)文档,但我不知道如何做到这一点。

我有一个表示用户友谊的表,称为“Shortlist”(带有字段“from_user”和“to_user”:经典 auth_user 表的外键。即,from_user 与 to_user 成为朋友)。

我有另一个表,用于记录用户事件/操作 (UserLog)。在此表中有许多字段,包括“时间戳”,当然还有“用户”字段(auth_user 表的外键)

如何从按 UserLog 表中的时间戳排序的特定用户 (from_user) 的表“Shortlist”中检索数据?或者,我如何检索按记录的“to_user”操作总数排序的特定 from_user 的 Shortlist 数据?

换句话说,我想检索所有用户最活跃的朋友,或者首先通过最近的操作对他们进行排序。


感谢您的回答,但我想我可能需要更多帮助。我想要做的是根据用户的活动(最活跃的用户在前)对其进行排序。活动记录在另一个表中。

例如我想做这样的事情(如果可能的话)

select * from Users U, (select count (id) from UserLog L where U.id=L.user_id) as actions order by actions desc

我还想根据他们的最新操作对它们进行排序(首先是最近操作的用户)

关于如何做这些事情的任何想法(或最佳实践)?

mae*_*rsu 5

可以使用相关字段语法按另一个表进行排序:

例子:

UserProfile.objects.all().order_by('user__username')
Run Code Online (Sandbox Code Playgroud)

要根据字段计算事物,请使用注释