Django中使用原生sql
来源:互联网 发布:雅克比矩阵满秩 编辑:程序博客网 时间:2024/06/03 23:38
使用原生sql的主要目的是解决一些很复杂的sql不能用ORM的方法写出的问题。
Django中几种写原生sql的方式
1.extra:结果集修改器,是吗一种提供额外查询参数的机制
>>>> Book.objects.filter(publisher__name = '清华大学出版社').extra(where = ['price > 10']) #查找清华大学出版社中所有大于10元的书籍。# 也可以使用下面的语句>>> Book.objects.filter(publisher__name = '清华大学出版社', price__gt = 10) # 意思和上一种相同还有其他的几种方式,不过这个不太常用,所以不多说了。2.raw:执行原始sql并返回模型实例
# 查看数据表 blog_book 中的所有的对象。>>> b = Book.objects.raw('select * from blog_book') # raw方法返回的是RawQuerySet的对象,可迭代>>> for i in b:print(i.title)</span>raw方法貌似只能用在查询的时候3.直接执行自定义SQL(这种方法完全不依赖与model,前面两种方式还是要依赖于model)
其实就是用python操作数据库的方法。
如果SQL学的不错的话,强烈建立使用第三种方式来进行
from django.db import connection# 获得一个游标cursor对象cursor = connection.cursor()# 插入操作cursor.execute("insert into blog_author(name) values('韩寒')")# 更新操作cursor.execute("update blog_author set name = '郭敬明' where name = '韩寒' ")# 删除操作cursor.execute("delete from blog_author where name = '郭敬明'")# 查询操作cursor.execute('select * from blog_author')# 一条一条的取数据raw = cursor.fetchone()# 取出所有数据,以元组的形式返cursor.fetchall()注意:在Django中,如果可以用orm解决的话,首选还是orm,不能解决的时候,再考虑使用原生SQL的方式。因为原生SQL就是为了弥补orm不能够很好的执行较为复杂的SQL命令。
0 0
- Django中使用原生sql
- Django 使用原生sql
- django执行原生sql
- Magento中使用原生SQL
- Hibernate 中使用原生SQL 查询
- MySQL中yii2使用原生sql CURD
- hibernate中使用原生sql查询
- python中使用原生sql操作数据库
- tp5中使用原生sql查询总结
- tp5中使用原生sql语句
- python的django原生sql的实现
- python django 原生sql 获取数据
- Django查看原生SQL语句logging配置
- Hibernate 使用原生SQL
- Hibernate 使用原生SQL
- Ofbiz使用原生Sql
- jpa使用原生sql
- 在 Core Data 应用中使用原生 SQL 功能
- POJ 1753 Flip Game 高斯消元 枚举自由变量
- 设置Android studio 的class注释
- OPENWRT修改MAC(亲测有效)
- 新浪微博首席架构师漫谈微博底层架构
- php 源码简单加密的几种方法
- Django中使用原生sql
- Unity使用RSA
- mysql查询顺序
- 通过设置Oracle Smart Flash Cache为0能避免的bug
- Android-- 基于http的文件下载开源框架file-downloader
- Android使用系统调用相册的时候打开了云相册出现CRASH或者找不到截图程序的解决方案
- 众觅,让支付宝『到位』全国到位
- shell sed中引用shell变量及空格表示方法
- first-class function