data = Data.objects.filter(need_add=1)
for i in data:
added = i.need_add + 1
i.need_add = added
i.save()
这样的一个功能:对 Data 数据中,need_add 为 1 的都进行 +1,当日加 1 只是象征性都函数, 请问有没有 django orm 的方法,一次性更新某个字段,这个字段的值是:原本改字段经过一个函数后的返回值。
类似于:Data.objects.filter(need_add=1).update(need_add=Myfunc(F('need_add')))
这个意思
1
belingud 2019-10-30 00:46:26 +08:00 via iPhone
我记得 F 对象可以直接对字段进行运算啊,比如 fileter().update(need_add=F("need_add" + 1))
|
2
belingud 2019-10-30 00:47:43 +08:00 via iPhone
抱歉应该是 fileter().update(need_add=F("need_add") + 1)
|
3
bnm965321 2020-03-12 10:26:22 +08:00
这个字段的值是:原本改字段经过一个函数后的返回值
------- 好像只能用 SQL 定义的函数 |