Django 错误:"ManyToManyDescriptor"对象没有属性"all"



我收到这个错误。我正在尝试循环浏览帖子,以显示作为集合一部分的帖子。我应该把它改成什么?

相关信息:

型号.py

class Collection(models.Model):
posts = models.ManyToManyField(Post, related_name='collection_posts', null=True, blank=True)

views.py

def collection_detail_view(request, pk):
collection = Collection.objects.get(id=pk)
posts = Collection.posts.all() #this is the error
context = {
'collection': collection,
'posts': posts  
}
return render(request, 'collection_detail.html', context)

您正在将all()直接调用到模型的posts字段。不适用于collection对象的帖子。基本上,您调用的是类,而不是实例。

请执行以下操作:

posts = collection.posts.all() #note the lower case

相关内容

  • 没有找到相关文章