不时地,我在执行原始查询时使用
connection.cursor()
而不是使用ORM(因为它绝对不是一个银弹)。
我注意到,在几个地方,我在完成数据库后没有明确调用
cursor.close()
。到目前为止,这并没有导致任何错误,或者性能问题。我在想,如果不明确关闭游标,我可能会有什么样的问题,会出什么问题?
据我所知,Django中的
connection
和
cursor
遵循《Python数据库API规范v2.0》(
PEP-249
).而且,根据它,只要
cursor
方法被调用,
__del__()
就会自动关闭。我想问题也可以是这样的。是否存在不调用该方法的情况?
顺便说一下,我使用的是Python 2.7和Django 1.6.5。