以下方法返回我关注的用户帖子的查询集。
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
类似的东西>我应该怎么做?
我是begginer plz的帮助。
答案 0 :(得分:3)
之所以不起作用,是因为很可能get_following()
返回了QuerySet
,而不是列表,并且您无法追加到Queryset
。
很可能只在分离条件下实现:
from django.db.models import Q
def get_queryset(self, *args, **kwargs):
following_users = self.request.user.profile.get_following()
return Tweet.objects.filter(
Q(user__in=following_users) |
Q(user=self.request.user)
).order_by('-timestamp')
答案 1 :(得分:2)
您需要使用Q objects,以便从您所关注的用户那里查找帖子,或者从您自己那里查找
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Fabric.with(this, new Crashlytics());
setContentView(R.layout.activity_main);
}
}