【发布时间】:2012-12-06 15:00:25
【问题描述】:
有时我们必须做一个 Model instance.save() 不管某些字段是否改变,只是为了安全和快速开发。
- django ORM 有多贵?
- 总是发送信号?
- 是否执行了任何 SQL 查询?
我用 django 调试工具栏测试了 10 .save() 在模型中的任何内容发生变化的不同点,并且日志没有记录 sql 查询。
其他测试方法或一些文章?
提前谢谢你。
【问题讨论】:
有时我们必须做一个 Model instance.save() 不管某些字段是否改变,只是为了安全和快速开发。
我用 django 调试工具栏测试了 10 .save() 在模型中的任何内容发生变化的不同点,并且日志没有记录 sql 查询。
其他测试方法或一些文章?
提前谢谢你。
【问题讨论】:
我不完全确定您的应用程序如何处理这个问题。
但是我做了一个小测试:
a = Blog.objects.get(pk=1)
for b in range(1, 100):
a.save()
这给了我一个结果:
87.04 毫秒(201 次查询)
还要注意保存会执行两个查询:
SELECT ••• FROM `fun_blog` WHERE `fun_blog`.`id` = 1 LIMIT 1
UPDATE `fun_blog` SET `title` = 'This is my testtitle', `body` = 'This is a testbody' WHERE `fun_blog`.`id` = 1
【讨论】: