我有一个迷你博客应用程序和一个'时间表'。在那里,我希望显示来自用户的所有朋友的所有帖子,以及该用户自己的帖子。 为此,我必须在两个查询的结果(同一个表上的查询)之间进行某种“连接”,以便最终结果将是帐户的用户拥有者和他所有朋友的组合。 。 我的查询如下:
blog = New.objects.filter(created_by = following,created_by = request.user)
通过那个','我想做一个'加入' - 我在doc上发现了类似的东西 - 但是这个方法不正确 - 我收到了错误。
这个'加入'怎么办?
答案 0 :(得分:2)
您可以使用Django Q
(查询参数)对象来创建具有逻辑运算符(&
,|
和~
)的复杂查询。您还可以使用__
(双下划线)加入查询参数。
# is this what you want?
blog = New.objects.filter( Q(created_by__followed_by = request.user)
|Q(created_by = request.user) )
有关详细信息,请参阅http://docs.djangoproject.com/en/dev/topics/db/queries/#complex-lookups-with-q-objects。