django执行原生sql_mysql语句执行顺序

django执行原生sql_mysql语句执行顺序前言Django在查询数据时,大多数查询都能使用ORM提供的API方法,但对于一些复杂的查询可能难以使用ORM的API方法实现,因此Django引入了SQL语句的执行方法,有以下三种执行方式ext

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

前言

Django在查询数据时,大多数查询都能使用ORM提供的API方法,但对于一些复杂的查询可能难以使用ORM的API方法实现,因此Django引入了SQL语句的执行方法,有以下三种执行方式

  • extra:结果集修改器,一种提供额外查询参数的机制。
  • raw:执行原始SQL并返回模型实例对象。
  • execute:直接执行自定义SQL

以上3种方式,这里只介绍raw方式,用的最多,也最推荐使用
 

raw

只能实现数据查询操作,并且要依靠模型对象,在Pycharm里打开raw源码,如下图所示,它一共定义了4个参数,每个参数如下:

  • raw_query:SQL语句
  • params:如果raw_query设置字符串格式化%s,那么该参数为raw_query提供数值
  • translations:为查询的字段设置别名
  • using:数据库对象,即Django所连接的数据库
    def raw(self, raw_query, params=None, translations=None, using=None):
        if using is None:
            using = self.db
        qs = RawQuerySet(raw_query, model=self.model, params=params, translations=translations, using=using)
        qs._prefetch_related_lookups = self._prefetch_related_lookups[:]
        return qs

上述参数只有raw_query是必选参数,其他参数可根据需求自行选择。我们以模型Student为例,使用raw实现数据查询,代码如下:

students = Student.objects.raw('select * from Student')
    for student in students:
        print(student)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/166162.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • WIN10永久激活工具 HWIDGEN[通俗易懂]

    WIN10永久激活工具 HWIDGEN[通俗易懂]WIN10永久激活工具HWIDGEN转 https://blog.52iss.com/index.php/soft/Windows10数字权利获取工具几乎秒杀所有版本Windows

    2022年8月4日
    7
  • 高速数据采集存储系统分类

    随着计算机技术发展,计算机总线速率、处理能力与存储技术得到了快速发展。就存储技术而言相比于五年前,现在不论是传输速率,存储速度与存储容量均有了不同数量级的变化。如现在的PCIeExpress总线可以实现3GB/s(Gen2.0,X8)以上,或6GB/s(Gen3.0,X8)以上的传输速率;而SATA磁盘容量也可以轻易实现动辄几T,多动几十T的规模

    2022年4月9日
    55
  • 如何在select标签中使用a标签跳转页面

    如何在select标签中使用a标签跳转页面

    2021年11月3日
    39
  • matlab做图像_matlab语言基础

    matlab做图像_matlab语言基础注:读取图像的路径自己设置。图像文件的查询%imfinfo()用于获取一张图片的具体信息info=imfinfo(‘E:\a_matlab_file\picture\longmao.jpg’);disp(info);图像的读取img_route=’E:\a_matlab_file\picture\***.jpg’;A=imread(img_route);set(0,’de…

    2022年9月26日
    5
  • CTK的编译「建议收藏」

    CTK的编译「建议收藏」CTK的编译CTK主要是一个基于QT的GUI开发框架,用于医学成像、外科导航等相关的项目。典型的应用就是3DSclier。在医学图像的软件开发中,ctk通常和vtk、ITK等开源库一起使用。一些编译的问题在CTK中编译QT的5.10等较高版本时可能遇到的问题:(1)VTK编译错误CTK默认下载的VTK版本比较旧,编译过程可能会遇到C++语法方面的错误,这时可以更改Git中下载的VT…

    2022年6月5日
    28
  • 如何查看XPS文件

    如何查看XPS文件xps文件相当于离线版网页,WPS不支持查看XPS文件,Office也不支持查看XPS文件今天就分享两种查看XPS文件的方法第一种方法就是使用Speedpdf在线文件转换网站将XPS文件免费转换成PDF文件或者Word文件,这个样子就可以查看XPS文件。第二种方法下载XPSViewer并且添加到计算机。如果电脑系统是Windows10只需搜索XPSViewer就可以使用,但是如果你已清除计算机的可选功能,就需要重新安装XPSViewer…

    2022年5月22日
    228

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号