有时,我使用connection.cursor()
而不是ORM执行原始查询(因为它绝对不是灵丹妙药).
我注意到,在一些地方,我在处理完数据库后不会称之为显式cursor.close()
.到目前为止,这还没有导致任何错误或性能问题.我想知道如果不明确关闭光标,我可能会遇到什么样的问题,会出现什么问题?
据我所知,Django中的connection
和cursor
遵循"Python数据库API规范v2.0"(PEP-249).并且,根据它,每当调用__del__()
方法时,cursor
将自动关闭.我想问题还可能是:当它不被调用时,是否存在用例?
仅供参考,我正在使用Python 2.7和Django 1.6.5.