0

我有所有权模型,它对用户和项目具有 FK。用户有自己的m2m,朋友。

class Ownership:
    user = FK(User)
    item = FK(Item)

class User:
    friends = M2M(User)

我想获取用户的所有权对象,按拥有相同项目的用户朋友的数量排序。在 QuerySet 中是否有可能,或者我应该使用原始 SQL,如果可以,该 SQL 会是什么样子?

4

1 回答 1

1

你应该能够做到:

(with user u)

users_objects = sorted(Ownership.objects.filter(user=u), key=lambda x:Ownership.objects.filter(item=x.item, user__in=u.friends).count())
于 2012-10-17T22:38:30.530 回答