当前分类:Django>>正文

django- "Cannot update a query once a slice has been taken"

来源:互联网   更新时间:2023年5月14日  

最近在更新我的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()

目前我是用到这样一个办法,也可以解决问题。

本文固定链接:https://6yhj.com/leku-p-3240.html  版权所有,转载请保留本地址!
[猜你喜欢]

标签: django基础