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/のAttributeError'カーソル'オブジェクトに属性がありません'using '

ここにトレースバックがあります:http://pastebin.com/CD7B8BxJ

全てに感謝

4

1 に答える 1

2

まず、django.db.connectionsをインポートする必要があります。これは辞書のようなオブジェクトであり、エイリアスによって特定のデータベース接続を取得できます。次に、適切なカーソルを使用する必要があります。Cursorオブジェクトに「using」メソッドはないと思います(これがエラーメッセージの内容です)。

だから、私たちは持っています:

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 に答える