'QuerySet' 对象不支持项目分配

class PostDetailView(DetailView):

    model = Post

    template_name = 'detail.html'


    def get_context_data(self, **kwargs):

        context = super(PostDetailView, self).get_context_data(**kwargs)

        instance = Post.objects.get(pk=self.kwargs.get('pk'))

        user = instance.post_user

        context['comments'] = Comment.objects.filter(comment_post=instance.pk)

        context['comments']['profile'] = Profile.objects.get(user=user)

        return context

这是我目前的看法。当我使用该代码时,我收到此错误“QuerySet”对象不支持项目分配。我如何正确附加下面的线?


context['comments']['profile'] = Profile.objects.get(user=user)


HUWWW
浏览 137回答 1
1回答

ABOUTYOU

问题是值context['comments']不是字典而是 QuerySet 对象。所以,你不能做的:context['comments']['profile'] = Profile.objects.get(user=user)。也许您可以将与 Profile 模型的关系添加到 Comment 模型中,例如:class Comment(models.Model):    profile = models.ForeignKey(Profile, ...)    ...这样您就可以访问发表评论的 Profile 的值。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java