Django,带有原始sql的多个数据库。如何选择db?

时间:2013-08-14 05:40:23

标签: django

我有一个利用多个数据库的Django项目。 https://docs.djangoproject.com/en/dev/topics/db/multi-db/

我执行了很多这样的原始查询:

  cursor = connection.cursor()
  cursor.execute("select * from my_table")
  ....
  transaction.commit_unless_managed()

如何指定要使用的数据库?

2 个答案:

答案 0 :(得分:22)

请参阅executing custom query directly上的django文档。在您的连接中指定数据库,如下所示:

from django.db import connections
cursor = connections['db_alias'].cursor()
cursor.execute("select * from my_table")

然后使用

提交
from django.db import transaction
transaction.commit_unless_managed(using='db_alias')

答案 1 :(得分:0)

尝试这可能是应该的。

from django.db import connections
cursor = connections[’my_db_name’].cursor()
# Your code here...
transaction.commit_unless_managed(using=’my_db_name’)