更新方法的问题

来源:4-4 数据的增删改

慕哥1266152

2019-10-23

更新方法

  • 方法1: user.objects.update(xx=xx, xx=xx)
  • 方法2: user.xx=xx user.save()

PS user = User.objects.filter(id=xx) 获得

这里有点问题

如果user = User.objects.filter(id=xx) 获得user, 是QuerySet集合, 是没有user.xx的, 也没办法save(), 需要用索引

即使用了索引, 如 user[0].name=123, user[0].save(), 我看了数据库里还是不会更新, 不知道为什么

但是如果User.objects.get(id=xx) , 获得的user, 就可以user.name=123, user[0].save(), 数据库里会更新

测试

图片描述

写回答

1回答

deweizhang

2019-10-23

是的fiter是集合 get是单独对象 集合要单独处理某个必然是循环或索引 但fiter查询不到不会异常。fiter和update可以结合起来。课程内容永远不会百分之百全面,很多需要自己思考,就像你这样思想很对

0
3
deweizhang
回复
慕哥1266152
hello 我刚测了一下是没问题的 结合你的代码 看看细节哪里存在问题—索引某对象进行更改加save是ok的
2019-10-23
共3条回复

Django入门到进阶-适合Python小白的系统课程

入门Django的同时,让你形成更贴近实际工作的Python Web开发知识体系

1114 学习 · 464 问题

查看课程