django中怎么使用原生sql
时间: 2024-06-10 22:03:54 浏览: 132
跟着王进老师学Python之Django篇第二季:数据库开发之原生SQL
在 Django 中,可以使用原生 SQL 来执行数据库查询,以下是一些简单的使用方法:
1. 在 Django 的 settings.py 文件中配置数据库连接信息,指定数据库类型,用户名,密码等。
2. 创建 models.py 文件,定义 Django 模型类,模型类通过继承 django.db.models.Model 来实现与数据库表的映射。
3. 调用 Django 提供的 RAW SQL API 来执行原生 SQL 查询语句:
```
from django.db import connection
def my_custom_sql():
with connection.cursor() as cursor:
cursor.execute("SELECT * FROM myapp_mymodel")
row = cursor.fetchone()
return row
```
4. 如果查询需要参数,可以使用参数化查询,防止 SQL 注入攻击:
```
def my_custom_sql(param1, param2):
with connection.cursor() as cursor:
cursor.execute("SELECT * FROM myapp_mymodel WHERE field1 = %s AND field2 = %s", [param1, param2])
row = cursor.fetchone()
return row
```
注意,虽然使用 RAW SQL 可以直接操作原生数据库查询语句,但是推荐使用 Django ORM 进行数据库操作,这样可以更好地利用 Django 的优点,例如自动生成表结构,模型字段校验,提高代码可维护性等。
阅读全文