相关疑难解决方法(0)

如何使用Django进行"批量更新"?

我想用Django更新一个表 - 在原始SQL中是这样的:

update tbl_name set name = 'foo' where name = 'bar'
Run Code Online (Sandbox Code Playgroud)

我的第一个结果是这样的 - 但这很讨厌,不是吗?

list = ModelClass.objects.filter(name = 'bar')
for obj in list:
    obj.name = 'foo'
    obj.save()
Run Code Online (Sandbox Code Playgroud)

有更优雅的方式吗?

django django-models

133
推荐指数
6
解决办法
10万
查看次数

Django:获取切片后无法更新查询

我想这样做:

UserLog.objects.filter(user=user).filter(action='message').filter(timestamp__lt=now)[0:5].update(read=True)
Run Code Online (Sandbox Code Playgroud)

但我收到这个错误:

Cannot update a query once a slice has been taken.
Run Code Online (Sandbox Code Playgroud)

(使用django 1.2.1)

我究竟做错了什么?

django django-queryset

21
推荐指数
3
解决办法
2万
查看次数

标签 统计

django ×2

django-models ×1

django-queryset ×1