如何解决/'dict' 对象的 AttributeError 没有属性 '_mptt_meta'
我尝试使用帖子和 MPTT 评论来构建博客,这将在主视图 www.mysite.com
中,这意味着我无法将 pk 传递给 url,因此我尝试使用 for 循环获取帖子对象
comma = Post.objects.all()
comm = []
for post in comma:
comment = PostCommentIDF.objects.filter(post=post)
comm.append({"comme": comment}
context = {'comment': comm,}
return render(request,'personal/home.html',context)
还有我的 Mptt 评论模型
class PostCommentIDF(MPTTModel):
post = models.ForeignKey(Post,on_delete=models.CASCADE,related_name='pos_com')
parent = TreeForeignKey('self',null=True,blank=True,related_name='post_children')
author = models.ForeignKey(Account,on_delete=models.CASCADE)
content = models.TextField()
created_date = models.DateTimeField(auto_Now_add=True)
status = models.BooleanField(default=True)
likes = models.ManyToManyField(Account,related_name='pos_com')
我的帖子模型
class Post(models.Model):
author = models.ForeignKey(Account,on_delete=models.CASCADE)
article = models.TextField(null=True,blank=True)
photo_article = models.ImageField(max_length=255,upload_to=get_poster_filepath)
我在模板中的 mptt 评论
{% recursetree comment %}
<div id="{{ node.id }}" class="my-2 p-2" style="border: 0px solid grey">
<div class="d-flex justify-content-between">
{{ node.publish|naturaltime }}
<div class="node-content mt-3">{{ node.content }}</div>
</div>
</div>
{% endrecursetree %}
解决方法
comment
在您的模板上下文中是一个字典列表。它应该是一个 PostCommentIDF
实例列表。而且您正在执行多个 SQL 查询,这确实效率低下。改用 __in
运算符并直接使用查询集,它也是可迭代的:
comma = Post.objects.all()
comment = PostCommentIDF.objects.filter(post__in=comma)
context = {'comment': comment,}
return render(request,'personal/home.html',context)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。