【问题标题】:Django, multiple databases with raw sql. How to choose db?Django,带有原始 sql 的多个数据库。如何选择数据库?
【发布时间】:2013-08-15 22:44:20
【问题描述】:

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

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

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

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

【问题讨论】:

标签: django


【解决方案1】:

请参阅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')

【讨论】:

  • 这个答案不完整。它没有显示至少一个带有游标的 SQL 查询的示例、事务将如何工作以及您从何处获得该事务对象的示例。 @arulmr
【解决方案2】:

试试这个应该可以吧。

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

【讨论】:

    猜你喜欢
    • 2018-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-02
    • 2011-01-27
    • 2018-04-14
    • 2010-10-15
    相关资源
    最近更新 更多