我的网站上有一个朋友功能,我希望主屏幕是当前用户关注的用户过滤的帖子。
这是相关模型
class UserProfileInfo(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE,max_length=30)
friends = models.ManyToManyField(User,blank=True,related_name='user_connections')
以及相关观点
class PostViewList(HitCountDetailView,SelectRelatedMixin,ListView):
model = Post
count_hit = True
template_name = 'mainapp/list.html'
select_related = ("user","group",)
paginate_by = 5
context_object_name = 'posts'
queryset = models.Post.objects.all()
def get_queryset(self):
# return Post.objects.filter(author__friends__friend__id=self.request.user.id)
qs = super().get_queryset()
select_related = ("user","group",)
# user = self.user
return qs.filter(Q(friend__author=self.kwargs['post.author']))
*请注意,select_related
由于另一个不相关的功能,其中的组在那里
如您所见,我试图过滤掉帖子,但它不起作用。
我不知道我错过了什么/做错了什么。