如何将“using”DB传递给django连接对象

ngynwnxp  于 2022-12-20  发布在  Go
关注(0)|答案(2)|浏览(112)

要在django中查询一个特定的数据库,我可以这样做:

Item.objects.using('specific_db').all()

有没有办法使用django连接来做同样的事情?例如:

>>> from django.db import connection
>>> cursor=connection.using('specific_db').cursor()

如果没有,我如何在不手动提供所有凭据的情况下获得特定DB的游标/连接?

axkjgtzd

axkjgtzd1#

根据django关于在多个数据库上使用原始SQL的文档,你应该使用connections而不是connection

from django.db import connections
cursor = connections['specific_db'].cursor()
cursor.execute("select * from item")
kwvwclae

kwvwclae2#

使用此代码段执行原始SQL查询
从django.db导入连接

def connect_to_db():
    with connection.cursor() as cursor:
         cursor.execute("""SELECT * FROM Table""")
         return dict(zip([col[0] for col in cursor.description], row)) for row / 
                in cursor.fetchall()

相关问题