Man*_*hew 4 python database django python-3.x
如果在 Django 中执行以下操作,是否会为每个查询执行创建一个新的连接对象?
for query in query_list:
with connection.cursor() as cursor:
cursor.execute(query)
Run Code Online (Sandbox Code Playgroud)
with connection.cursor() as cursor:
cursor.execute(query)
Run Code Online (Sandbox Code Playgroud)
with关键字意味着您正在 Python 中使用上下文管理器,在此块的末尾connection.__exit__被静默调用并关闭连接。同样在块的开头connection.__enter__执行。
要回答您的问题,是的,您正在为 中的每个查询打开和关闭连接query_list。如果你想避免这种情况,请排列循环和上下文管理器,如下所示:
with connection.cursor() as cursor:
cursor.execute(query)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6823 次 |
| 最近记录: |