同时通过用户列表和request.user过滤查询集

问题描述 投票:1回答:2

我想创建一个包含来自“朋友”和“ request.user”列表的帖子的查询集。

到目前为止,我只能使用posts = Post.objects.filter(user__in=friends)过滤朋友的帖子。我尝试执行posts = Post.objects.filter(user__in=friends).filter(user=request.user),但这会返回一个空的查询集。

我不知道如何同时使用两个参数来过滤“帖子”。

任何建议,将不胜感激,欢呼。

python django
2个回答
1
投票

这里您以user应该在朋友列表中的方式进行过滤并且它应该是request.user。这可能不起作用。

您可以在此处使用Q-objects [Django-doc]进行逻辑或:

Q

1
投票

您可以像这样使用from django.db.models import Q Post.objects.filter(Q(user__in=friends) | Q(user=request.user))

Q objects
© www.soinside.com 2019 - 2024. All rights reserved.