【问题标题】:django sort objects by number of friends who have themdjango 按拥有对象的朋友数量对对象进行排序
【发布时间】:2012-10-17 22:23:32
【问题描述】:

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

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

class User:
    friends = M2M(User)

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

【问题讨论】:

    标签: sql django postgresql


    【解决方案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())
    

    【讨论】:

      猜你喜欢
      • 2011-10-08
      • 2011-07-07
      • 2020-07-11
      • 1970-01-01
      • 1970-01-01
      • 2015-03-31
      • 2011-05-16
      相关资源
      最近更新 更多