为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

HUWWW 2021-10-19 15:25:53
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)
查看完整描述

1 回答

?
ABOUTYOU

TA贡献1812条经验 获得超5个赞

问题是值context['comments']不是字典而是 QuerySet 对象。

所以,你不能做的:

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


也许您可以将与 Profile 模型的关系添加到 Comment 模型中,例如:


class Comment(models.Model):

    profile = models.ForeignKey(Profile, ...)

    ...

这样您就可以访问发表评论的 Profile 的值。


查看完整回答
反对 回复 2021-10-19
  • 1 回答
  • 0 关注
  • 136 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信