- 改写成
goods.mOney= models.Goods.money + goods_info["money"], - 上述语句,如果放到循环里,只会被执行最后一次循环的更新,原因是什么呢?有什么解决办法没有?

goods.mOney= models.Goods.money + goods_info["money"], 1 nutting Sep 27, 2019 debug 一下 |
2 CallMeReznov Sep 27, 2019 你 add 的吗? 你不是 add 的每次循环中有 commit 吗? |
3 filebolt OP @CallMeReznov 循环结束之后 commit 的,每次都 commit 不合适 |
4 filebolt OP 是因为被操作被覆盖了吗? |
5 tonghuashuai Sep 27, 2019 ```python for i in range(10): goods_info = xxxxx goods.money = models.Goods.money + goods_info["money”] goods.save() ``` |
6 zzlettle Sep 27, 2019 这就是为什么要学好数据库语言的重要性 因为你只要学好 SQL 语法 以后无论遇到什么框架 什么语言 什么 ORM 你都能马上对付 不用太多关心这些框架的 api 文档,很多这些框架 搞得很复杂,api 设计的反人类 但是他们肯定都会有 SQL 语言的支持 否则你每次都要重新学 还有各种 BUG 用各种技巧的面目跳出来 你要是会 SQL 直接用原始 sql 到哪里都通用 真的做到 一次代码 各种环境通用 |