最近在更新我的Django程序遇到的一个问题。
"Cannot update a query once a slice has been taken"
这个意思是说,一个集合,一旦进行了切片操作,就不能用update进行更新了。
错误代码示例:
Posts.objects.all()[:10].update(allowed=True)
这条语句的目的是,对数据模型Posts中的10条数据进行更新,将allowed的状态改为True,但是执行起来会报上面提示的错误!
更正:
可以使用一个循环来进行操作。
for i in range(10): post=Posts.objects.filter(allowed=False).last() post.allowed=True post.save()
目前我是用到这样一个办法,也可以解决问题。
标签: django基础