【发布时间】:2011-06-07 09:41:34
【问题描述】:
每次在 Django 对象上调用 save() 方法时,Django 都会执行两个查询,一个是 INSERT,一个是 SELECT。在我的情况下,这很有用,除了某些每个查询都很昂贵的特定地方。关于如何有时声明不需要返回任何对象的任何想法 - 不需要 SELECT。
另外我是用django-mssql连接的,这个问题在MySQL上好像不存在。
编辑:更好的解释
h = Human()
h.name='John Foo'
print h.id # Returns None, No insert has been done therefore no id is available
h.save()
print h.id # Returns the ID, an insert has taken place and also a select statement to return the id
有时我不需要重新输入 ID,只需插入
【问题讨论】:
-
嗯,这很奇怪,MSSQL 支持
INSERT...OUTPUT,所以我不明白它为什么会发出两个查询,但我又对django-mssql不太熟悉。也许您可以为昂贵的查询构建自己的 INSERT 语句?
标签: django save django-mssql