我有一个友谊模型,如下所示:
from_user = ForeignKey(User, related_name='friends')
to_user = ForeignKey(User, related_name='friends_')
我有一个经理来获取用户的所有友谊模型:
def for_user(self, user):
return self.filter( Q(to_user=user) | Q(from_user=user) )
所以现在我想要一个包含所有好友用户对象的查询集。我只想编写一个简单的循环并将它们添加到列表中,但随后我失去了编写查询的能力。例如,对于某个用户的所有 friend ,我想过滤/获取具有特定用户名的 friend 。
我的问题的标题有点笼统,因此如果有人知道更好的标题,请随时更改它。
最佳答案
User.objects.filter(Q(friends__to_user=someuser)|Q(friends___from_user=someuser))
不知道第二个 Q()
是否真的有效,但这就是您决定调用相关字段的内容。
关于python - Django:创建查询集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6369539/