Django使用原生SQL查询数据库详解
Django 提供了两种方式来执行原生 sql 代码。
一种是使用 raw() 函数,一种是 使用 connection.cursor()。
但是官方还是推荐在使用原生 SQL 之前,尽量的先去探索一下 QuerySet 提供的各种 api。
目前而言,官方文档提供的各种 API 是能够满足绝大多数的应用场景的。
以下是本篇笔记的目录:
- raw()
- connection.cursor()
- 多数据库操作
1、raw()
这个方法可以用来操作原生 SQL,然后返回 model 实例:
我们以 Blog 作为示例,使用的代码如下:
for blog in Blog.objects.raw("select * from blog_blog"):
print(blog)