我收到这个错误。我正在尝试循环浏览帖子,以显示作为集合一部分的帖子。我应该把它改成什么?
相关信息:
型号.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