以下方法返回我关注的用户帖子的查询集。
def get_queryset(self, *args, **kwargs):
# returns the users that i follow
following_users = self.request.user.profile.get_following()
#gets posts of following users
qs = Tweet.objects.filter(user__in=following_users).order_by("-timestamp")
return qs
我也想在此查询集中添加我自己的帖子。如何在此查询集中添加我自己的用户?
像这样:
def get_queryset(self, *args, **kwargs):
# returns the users that i follow
following_users = self.request.user.profile.get_following()
following_users.append(self.request.user) # This is not working
#gets posts of following users
qs = Tweet.objects.filter(user__in=following_users).order_by("-timestamp")
return qs
像这样>我应该怎么做?
我是初学者,请帮忙。
最佳答案
这不起作用的原因是,可能 get_following()
返回一个 QuerySet
,而不是一个列表,并且您不能附加到 Queryset
.
可能更容易用析取条件来实现:
from django.db.models import <b>Q</b>
def get_queryset(self, *args, **kwargs):
following_users = self.request.user.profile.get_following()
return Tweet.objects.filter(
<b>Q(</b>user__in=following_users<b>) |</b>
<b>Q(user=self.request.user)</b>
).order_by('-timestamp')
关于python - 在帖子列表中显示用户帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58936389/