尝试获取查询集中的最新对象并且我不断收到错误
/'PostManager'对象的TypeError不可迭代
如果不迭代,你怎么做?
...
app = Flask(__name__)
...
答案 0 :(得分:2)
这一行错了:
home_list = list(Post.objects).order_by(' - id')[0]
Post.objects是PostManager:它不是可迭代的,你不能列出()它。
我猜你所追求的是:
home_list = Post.objects.all().order_by('-id').first()
first()和[0]之间的区别在于,如果查询集中没有结果,first()将不会抛出IndexError,它将返回None。
答案 1 :(得分:1)
下面的一个小的paranthesis错误
home_list = list(Post.objects).order_by('-id')[0]
将此更改为
home_list = list(Post.objects.all().order_by('-id'))[0]
另一种
home_list = Post.objects.all().order_by('-id').first()
也不需要在home_list上调用对象方法。以下也可以正常使用
context = {'content_list' : Content.objects.all(), 'home_list' : home_list}