0

ユーザーとアイテムへの FK を持つ所有権モデルがあります。ユーザーは、自分自身、友人に対して m2m を持っています。

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

class User:
    friends = M2M(User)

同じアイテムを持っているユーザーの友達の数でソートされた、ユーザーの Ownership オブジェクトを取得したいと考えています。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 に答える