Django(22)Django执行SQL语句

Django(22)Django执行SQL语句前言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)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/165801.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 两个向量的点乘和叉乘怎么算_数学基础 —— 向量运算:点乘和叉乘

    两个向量的点乘和叉乘怎么算_数学基础 —— 向量运算:点乘和叉乘向量的点乘:a*b公式:a*b=|a|*|b|*cosθ点乘又叫向量的内积、数量积,是一个向量和它在另一个向量上的投影的长度的乘积;是标量。点乘反映着两个向量的“相似度”,两个向量越“相似”,它们的点乘越大。向量的叉乘:a∧ba∧b=|a|*|b|*sinθ向量积被定义为:模长:(在这里θ表示两向量之间的夹角(共起点的前提下)(0°≤θ≤180°),…

  • Burpsuite教程(一)Burpsuite 火狐谷歌浏览器抓包教程

    Burpsuite教程(一)Burpsuite 火狐谷歌浏览器抓包教程1.1Web抓包火狐抓包环境需求:火狐浏览器代理插件1.打开测试工具BurpSuite,默认工具拦截功能是开启的,颜色较深,我们点击取消拦截。下图取消拦截状态,数据包可以自由通过:2.按下图顺序点击选显卡来到代理设置3.可以看到默认的代理设置情况,本地代理地址:127.0.0.1,代理端口8080。如果前面没有勾选一定要选择勾选。工具代理设置完毕。4.证书安装,浏览器输输入http://burp/,点击图示位置下载证书5配置证书,打开浏览器并导入证书火狐浏览器开打开证

  • 8000401a 因为配置标志不正确 错误及解决办法

    8000401a 因为配置标志不正确 错误及解决办法解决办法:如果是64位的office运行dcomcnfg打开组件服务如果是32位的office,则运行comexp.msc-32打开组件服务依次展开”组件服务”->“计算机”->“我的电脑”->“DCOM配置”找到”MicrosoftExcel应用程序”或”MicrosoftWord应用程序”,点击”安全”选项卡,依次把”启动和激活权限”,”访问权限”都选择为自定义,然后依次点击它们的编辑,把NetworkService和IIS_IUSRS添加进去,并加入所有的权限…

  • ERP入门

    为什么想起写这个题目哪?其实这个问题很久就想写了,记得2005年时候,公司新招的二位刚毕业的大学生,一个专业是经济管理,一个是会计,东北大区培训后公司让我选择了一位带一带,我选择了一个会计专业的(因为

    2021年12月26日
  • js页面的弹框怎么关闭啊

    js页面的弹框怎么关闭啊

    2021年10月31日
  • 推荐一款Python数据可视化神器

    推荐一款Python数据可视化神器一款动态数据可视化神器

发表回复

您的电子邮箱地址不会被公开。

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