如何获取路由数据库的游标?

时间:2011-10-25 13:03:54

标签: django

django.db.connection.cursor()结果是返回默认数据库的连接,而不是路由连接。

如何通过项目配置为我的Django应用程序选择的数据库创建游标?

2 个答案:

答案 0 :(得分:2)

django.db根据您在设置模块中的字典中使用的键提供所有连接的字典:

from django.db import connections
cursor = connections['my_db_alias'].cursor()

记录在案here

答案 1 :(得分:0)

好的,我检查了django.db.models.Model类,发现每次通过路由器获取的路由连接:

from django.db import connections, router

using = using or router.db_for_write(self.__class__, instance=self)
connection = connections[using]

不幸的是,router将Model子类作为其db_for_write()方法的第一个参数。