django中如果想修改数据库表中的信息,首先的查询到对应的数据。
如果查询条件查询到的数据有多条,如
# 能够查询到两条数据
person=Person.objects.filter(p_age=9)
而且也想同时修改这两条数据的话,如果使用:
person.p_age=34
person.p_name='张三'
# 修改完之后保存才能生效
person.save()
保存完之后,在网页打开显示修改成功的信息
return HttpResponse("修改成功")
但是,启动服务之后,在浏览器打开会报错
提示说’QuerySet’ object has no attribute ‘save’,也就是说person是一个集合QuerySet,集合的话就没有“save”这个属性。
如果想要保存一个QuerySet的每一小项并确保每个实例都运行save()命令,不需要任何特别的函数。需要的是直接对其运行循环语句并且发出save()命令即可。
for i in range(len(person)):
person[i].p_name='李四'
person[i].p_age=123
person[i].save()
刷新服务之后,再打开浏览器输入地址就能修改成功了