在Django 4.0中,你可以使用django.db.connection对象执行原生SQL查询,具体可以通过execute()方法直接执行自定义的SQL语句。以下是一个简单的例子:
from django.db import connection

def execute_custom_sql_query():
    # 定义你的自定义SQL查询
    sql_query = "SELECT * FROM your_table_name WHERE some_column = %s"
    params = ['some_value']

    # 使用connection.cursor()获取游标
    with connection.cursor() as cursor:
        # 执行自定义SQL查询
        cursor.execute(sql_query, params)

        # 获取查询结果
        result = cursor.fetchall()

    # 处理查询结果
    for row in result:
        # 在这里处理每一行的数据
        print(row)

在这个例子中,你需要替换 your_table_name 为你要查询的实际表名,some_column 和 some_value 分别是你的查询条件和参数。

这种方法直接执行原始的SQL语句,返回的结果是元组的列表。你可以根据需要处理查询结果。

与之前的例子不同,这里没有获取列名,而是直接处理元组。如果你需要获取列名,可以通过游标的description属性获取。

再次提醒,在构建原生SQL查询时务必使用参数化查询,以防止SQL注入攻击。


转载请注明出处:http://www.zyzy.cn/article/detail/7169/Django