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 的值。
添加回答
举报
0/150
提交
取消