0

我正在使用多数据库,我尝试:

        cursor = connection.cursor().using(profile.dbname)
        cursor.execute('select id_retorno from prc_sequenciadora(' + str(profile.idempresa) + ', "VENDA_PEDIDO", "IDVENDA_PEDIDO", 0, 0)')# calls PROCEDURE named LOG_MESSAGE which resides in MY_UTIL Package
        cursor.fetchall()

但是出现了这个错误:

/comerx/pedidos/novo/ 'Cursor' 对象的 AttributeError 没有属性 'using'

这是回溯: http: //pastebin.com/CD7B8BxJ

谢谢大家

4

1 回答 1

2

首先,您应该导入 django.db.connections - 这是一个类似字典的对象,允许您通过其别名检索特定的数据库连接。然后你应该使用它适当的光标。我相信 Cursor 对象没有“使用”方法(这就是错误消息所说的)。

所以,我们有:

from django.db import connections
my_db_alias = profile.dbname #in your situation
cursor = connections[my_db_alias].cursor()
# Your code goes here...

欲了解更多信息:https ://docs.djangoproject.com/en/dev/topics/db/sql/#executing-custom-sql-directly

于 2013-01-23T20:10:24.467 回答