在 Django 4.0 中,如果你想使用原始游标(cursor)与多个数据库交互,你需要明确使用每个数据库的连接对象。以下是一个简单的示例,演示如何在 Django 中使用原始游标与多个数据库进行交互:
from django.db import connections

# 获取默认数据库连接
default_db_connection = connections['default']

# 获取另一个数据库连接
secondary_db_connection = connections['secondary']

# 在默认数据库上执行查询
with default_db_connection.cursor() as cursor_default:
    cursor_default.execute('SELECT * FROM myapp_mymodel')
    results_default = cursor_default.fetchall()

# 在另一个数据库上执行查询
with secondary_db_connection.cursor() as cursor_secondary:
    cursor_secondary.execute('SELECT * FROM myapp_mymodel')
    results_secondary = cursor_secondary.fetchall()

在上述示例中,我们通过 connections 对象获取了默认数据库和另一个数据库的连接,并使用每个连接创建了原始游标。然后,我们分别在每个数据库上执行了原始 SQL 查询。

确保替换 'default' 和 'secondary' 为你在 settings.py 中配置的数据库别名。

请注意,当你使用原始游标时,需要手动管理事务和确保连接的关闭。如果你需要在 Django 模型上执行查询,通常更推荐使用 Django ORM,因为它会自动处理事务和连接管理。


转载请注明出处:http://www.pingtaimeng.com/article/detail/7182/Django