django.db.connection.cursor()结果是返回默认数据库的连接,而不是路由连接。
如何通过项目配置为我的Django应用程序选择的数据库创建游标?
答案 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()方法的第一个参数。