是否可以在 Django 中使用一句话实现对数据库中的某个字段的值加 1

2014-08-05 18:56:28 +08:00
 wuming
我现在的做法是先用Django读出这个字段的值,加一后再更新到数据库中。有没有其他更便捷的方法实现?

现在的代码类似这样:
some_object = SomeObject.objects.get(id=some_id)
some_value = some_object.some_value
some_value += 1
SomeObject.objects.filter(id=some_id).update(some_value=some_value)
7874 次点击
所在节点    问与答
4 条回复
xiwangzishi
2014-08-05 19:01:51 +08:00
可以
```
RootCount.objects.filter(key = n.key).update(success = F('success') + 1,value = value_str,support = True)
```
wenbinwu
2014-08-05 19:09:53 +08:00
search 'Filters can reference fields on the model' in django document
wuming
2014-08-05 19:33:27 +08:00
@xiwangzishi 感谢,已解决
20150517
2014-08-06 00:27:45 +08:00
关键楼主例子,不是不快捷,是根本不线程安全啊.......

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/126272

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX