django使用原生SQL的方法

django使用原生SQL的方法

  1. 使用extra:

    models.Book.objects.filter(publisher__name=‘传说中的申小五‘).extra(where=[‘price>50‘])models.Book.objects.filter(publisher__name=‘传说中的申小五‘, price__gt=50)?models.Book.objects.extra(select={‘count‘: ‘select count(*) from hello_Book‘})
  2. 使用raw:
    Book.objects.raw(‘select * from hello_Book‘)  # 返回模型实例
  3. 执行自定义SQL语言:
    from django.db import connection?cursor=connection.cursor()?# 插入操作cursor.execute("insert into hello_author(name) values(‘传说中的申小五‘)")?# 更新操作cursor.execute("update hello_author set name=‘abc‘ where name=‘bcd‘")?# 删除操作cursor.execute("delete from hello_author where name=‘abc‘")?# 查询操作cursor.execute("select * from hello_author")?raw=cursor.fetchone()  # 返回结果行游标直读向前,读取一条cursor.fetchall()  # 读取所有?

原文地址:https://www.cnblogs.com/zuichuyouren/p/11094679.html

时间: 2024-10-08 11:56:20

django使用原生SQL的方法的相关文章

django 使用原生SQL语句反向生成MODELS.PY中的表结构

在一次工作中,有这么一个问题,就是要导入的数据字段不确定,但是还想使用django的ORM来对数据进行操作.. 琢磨了许久,弄个不完善的方案,但功能是能实现的,主要是思路.废话不多说了,丑陋的展示一下吧... from django.db import connection #粗陋的用数组和字符串表示一下要导入的数据表单项lis = ['ll', 'bb', 'yy'] #表示要建立的表单字段l = 'tablename' #表名ll = 'fff' new_table = connection

【Django】执行原生SQL的三种方法 򚛞

原文: http://blog.gqylpy.com/gqy/383 "> 如下三种方式 extra:结果集修改器,一种提供额外查询参数的机制 raw:执行原始SQL返回模型实例 connection/connections:直接执行自定义SQL(此方法不依赖model) 1.extra示例: # extra # 在QuerySet的基础上继续执行子语句 # extra(self, select=None, where=None, params=None, tables=None, ord

django原生sql

参考:http://www.jb51.net/article/128257.htm coding=utf-8 from django.core.paginator import Paginator def paginator(data_list, per_page, page_no): """封装Django分页""" pages = Paginator(data_list, per_page) # 防止超出页数 if not page_no &

python 之 Django框架(orm单表查询、orm多表查询、聚合查询、分组查询、F查询、 Q查询、事务、Django ORM执行原生SQL)

12.329 orm单表查询 import os if __name__ == '__main__': # 指定当前py脚本需要加载的Django项目配置信息 os.environ.setdefault("DJANGO_SETTINGS_MODULE", "orm_demo.settings") import django django.setup() # 启动Django项目 from app01 import models #返回QuerySet对象的方法: r

Hibernat 原生SQL运行结果集处理方法

hibernate对原生SQL查询执行的控制是通过SQLQuery接口进行的. Session.createSQLQuery(); 使用list()方法可以把Session.createSQLQuery()的结果集处理成List返回,将返回一个Object数组(Object[])组成的List,数组每个元素都是CATS表的一个字段值.Hibernate会使用ResultSetMetadata来判定返回的标量值的实际顺序和类型. 如果要避免过多的使用ResultSetMetadata,或者只是为了

django中使用原生sql

在Django中使用原生Sql主要有以下几种方式: 一:extra:结果集修改器,一种提供额外查询参数的机制 二:raw:执行原始sql并返回模型实例 三:直接执行自定义Sql ( 这种方式完全不依赖model,前两种还是要依赖于model ) 实例: 使用extra: 1:Book.objects.filter(publisher__name='广东人员出版社').extra(where=['price>50']) Book.objects.filter(publisher__name='广东

在Django中使用原生Sql

在Django中使用原生Sql主要有以下几种方式: 一:extra:结果集修改器,一种提供额外查询参数的机制 二:raw:执行原始sql并返回模型实例 三:直接执行自定义Sql(这种方式完全不依赖model,前两种还是要依赖于model) 实例: 使用extra: 1:Book.objects.filter(publisher__name='广东人员出版社').extra(where=['price>50']) Book.objects.filter(publisher__name='广东人员出

springDataJPQL实现增删改查及分页,原生sql查询,根据方法命名规则实现查询

一.使用方法 1.在dao中定义开一个方法,使用方法的参数设置jpql,并且使用方法的返回值接受查询结果,在方法上添加@query注解,在注解中写jpql语句进行增删改查,测试 2.使用原生的sql语句:dao中定义一个方法,在方法中添加@query注解,在注解中添加原生sql语句,并且添加一个属性:nativeQuery=true,测试 3.方法命名规则查询: 通过以肯定的规则,定义一个方法,框架本身就可以根据方法名生成一块个sql语句进行查询,规则: 1.必须以findBy开头 2.查询某个

Django框架08 /聚合查询、分组、F查询和Q查询、执行原生sql、设置 sql_mode

目录 Django框架08 /聚合查询.分组.F查询和Q查询.执行原生sql.设置 sql_mode 1.聚合查询 2.分组 3.F查询和Q查询 4.执行原生sql(了解) 5.展示sql的 6.设置 sql_mode Django框架08 /聚合查询.分组.F查询和Q查询.执行原生sql.设置 sql_mode 1.聚合查询 aggregate(*args, **kwargs) aggregate()是QuerySet 的一个终止子句,意思是说,它返回一个包含一些键值对的字典.键的名称是聚合值