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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • HTML导航菜单

    HTML导航菜单1导航菜单程序管理版本管理渠道管理资源管理 上传资源分离左右页面#conter{width:90%;margin:auto;}#help-left{width:10%;

    2022年7月26日
  • 简单粗暴的黑苹果安装教程「建议收藏」

    简单粗暴的黑苹果安装教程「建议收藏」首先这是我的电脑配置,当然,玩黑苹果不一定得和我的配置一样~这个链接是几乎我用到的所有文件:链接:https://pan.baidu.com/s/1UIVXqkx3XiLbEsGsGbXA_A提取码:ex3f全部下载即可####1、做系统盘:1、准备一个8G以上的U盘打开上面工具里面的TransMac软件,检测到我们的U盘,然后右击,选择如图所示的第二个:FormatDis…

    2022年6月5日
  • 微软历史最高市值是多少?

    微软历史最高市值是多少?

    2021年12月10日
  • R-L模型算法的优缺点_审计重要性特征

    R-L模型算法的优缺点_审计重要性特征1.特征重要性的意义LR模型也就是逻辑回归模型,作为一个简单的常用的模型,其有非常多的有点,除了模型简单,容易实现分布式,还有一个重要的优点就是模型的可解释性非常好。因为每个特征都对应一个模型参数wiw_{i}wi​,该参数越大,那么该特征对模型预测结果的影响就会越大,我们就说该特征就越重要,因此LR模型的特征重要性评估方式就是wiw_{i}wi​的大小。2.逻辑回归模型特征重要性及排序Ta…

    2022年10月8日
  • c语言进销存系统设计代码,web版进销存系统 – WEB源码|源代码 – 源码中国[通俗易懂]

    c语言进销存系统设计代码,web版进销存系统 – WEB源码|源代码 – 源码中国[通俗易懂]压缩包:webjxc.rar列表mrEMS\DB_51aspx\db_CMS_Data.MDFmrEMS\DB_51aspx\db_CMS_Log.LDFmrEMS\EMS\001.icomrEMS\EMS\BaseClass\BaseInfo.csmrEMS\EMS\BaseClass\BaseInfo.cs.bakmrEMS\EMS\BaseClass\DataBase.csmrEMS\…

    2022年5月31日
  • java检测tomcat宕机_Tomcat意外宕机分析

    java检测tomcat宕机_Tomcat意外宕机分析之前在网上看过一篇文章,是讲Tomcat进程意外退出的,我看完感觉好奇,自己也测试了下,果然是有这种问题,所以自己也借此总结一下。先简单说下测试过程,先创建一个web服务启动test.sh,内容如下:#!/bin/bashcd/usr/software/tomcat/apache-tomcat-7.0.81/bin/./catalina.shstarttail-f/usr/software/…

    2022年7月14日

发表回复

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

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