python的django原生sql的实现
来源:互联网 发布:侠客风云传mod数据 编辑:程序博客网 时间:2024/06/18 12:38
当model满足不了需求的时候(比如:存储过程、多表连接等),可以使用原生sql。django提供了两种方法使用原生的sql:你可以使用Manager.raw()执行原生sql,它会返回model实例,或者也可以直接执行原生sql,完全忽略model。警告:使用原生sql的时候,要尽可能的使用参数的形式以防止用户进行sql注入攻击。
Manager.raw()执行原生sql
使用raw()方法执行原生sql,返回model实例:Manager.raw(raw_query, params=None, translations=None)。
举个列子:
class Person(models.Model): first_name = models.CharField(...) last_name = models.CharField(...) birth_date = models.DateField(...)
执行原生sql:
>>> for p in Person.objects.raw('SELECT * FROM myapp_person'):... print(p)John SmithJane Jones
具体看官方文档:https://docs.djangoproject.com/en/1.10/topics/db/sql/#executing-raw-queries
直接执行原生sql
使用django.db.connections模块进行执行原生sql,忽略model。
之前封装了该模块,地址为:http://blog.csdn.net/kelindame/article/details/52443972
使用方法:
sql = "select id,name,price from test where id > %s and id <%s "params = [1,2]row = fetchall(sql, params)print(row)#row的结果是select出来的东西,比如上面的id,name,price。for obj in row:print(obj["id"])print(obj["name"])print(obj["price"])
0 0
- python的django原生sql的实现
- python django 原生sql 获取数据
- django执行原生sql
- Django 使用原生sql
- Python+Django实现文件的下载
- Django的原生Ajax提交数据代码
- Django中使用原生sql
- 原生Ajax的实现
- 原生ajax的实现
- 在python的web框架Django中使用SQL Server
- python+django的helloworld
- Python的Django
- Hibernate的原生SQL查询
- hibernate 原生sql的使用
- Hibernate 原生sql的执行
- Hibernate的原生SQL查询
- hibernate的原生 sql查询
- Django查看原生SQL语句logging配置
- 何时子类必须显示调用父类带参构造函数
- Android 系统源码下载
- 路由,随页面加载js脚本
- Node.js和PHP运行机制对比
- 关于for (var index in items)和for (var i = 0; i < items.length; i++)
- python的django原生sql的实现
- [Leetcode]ZigZag Conversion
- eclipse中Add and Remove 时找不到eclipse中的某些项目
- 谈混合云的使用场景、关键技术点和未来发展
- Android Studio使用svn配置忽略文件和解决提交时一直performing的问题
- UE4第二课 创建一个关卡和基本操作
- Editplus使用技巧集萃
- 【POJ 2524 Ubiquitous Religions】+ 并查集
- java微信公众号支付相关说明