django不定义model,直接执行自定义SQL

如果不想定义model,直接执行自定义SQL,可如下操作:

1. 通过 connections获取db连接,如果是多个数据库,connections[‘dbName‘] 来选择

2. 获取游标 cursor

3. 执行sql: cursor.execute(sql)

4.获取返回结果:fetchone,fetchall (fetchall返回的是元祖,非字典)

from django.db import connections
cursor = connections[‘test_db‘].cursor()
cursor.execute(‘SELECT * FROM ...‘)
# fetchall返回的是元祖...
users = cursor.fetchall()

参考:

https://blog.csdn.net/iloveyin/article/details/46380619

https://blog.csdn.net/qq_37099834/article/details/82754170

原文地址:https://www.cnblogs.com/dannyyao/p/10234790.html

时间: 2024-08-03 05:25:18

django不定义model,直接执行自定义SQL的相关文章

Python Django 之 直接执行自定义SQL语句(一)

一.执行自定义SQL方法 1.Executing custom SQL directly 直接执行自定义SQL,这种方式可以完全避免数据模型,而是直接执行原始的SQL语句. 2.Manager.raw() 执行原始查询并返回模型实例 二.Executing custom SQL directly Manager.raw() 远远不够,可直接执行自定义SQL,directly execute UPDATE , INSERT , or DELETE queries.django.db.connect

Mybatis之执行自定义SQL举例

本文说明如何使用Mybatis执行我自定义输入的SQL语句. 需要的mybaits文件包括:配置文件(mybatis-config-dao.xml 和 jdbc.properties).接口文件(ISqlMapper.class).xml文件 (sqlMapper.xml).工具类(MybatisUtils.class). 依赖包: 1 <dependency> 2 <groupId>org.mybatis</groupId> 3 <artifactId>m

MYSQL可调用执行自定义SQL的代码

DELIMITER $$ USE `mysql_wispeed01`$$ DROP PROCEDURE IF EXISTS `sp_execSQL`$$ CREATE DEFINER=`sa`@`%` PROCEDURE `sp_execSQL`(inSql VARCHAR(4000)) BEGIN DECLARE l_sql VARCHAR(4000); SET l_sql=CONCAT_WS(' ',inSql); SET @sql=l_sql; PREPARE s1 FROM @sql;

django 执行原始SQL

二.知识点总结 When the model query APIs don’t go far enough, you can fall back to writing raw SQL. go far enough:远远不够fall back to:求助 raw:原始的,未加工的 Django提供两种方式执行(performing)原始的SQL查询: (1) . Manager.raw():执行原始查询并返回模型实例 (2) . Executing custom SQL directly :直接执

11.Django数据库操作(执行原生SQL)

1.使用extra方法 解释:结果集修改器,一种提供额外查询参数的机制 说明:依赖model模型 用在where后: Book.objects.filter(publisher_id="1").extra(where=["title='python学习1'"]) 用在select后 Book.objects.filter(publisher_id="1").extra(select={"count":"select

在django中,执行原始sql语句

extra()方法 结果集修改器,一种提供额外查询参数的机制 使用extra: 1:Book.objects.filter(publisher__name='广东人员出版社').extra(where=['price>50']) Book.objects.filter(publisher__name='广东人员出版社',price__gt=50) 2:Book.objects.extra(select={'count':'select count(*) from hello_Book'}) ra

django执行源生sql

执行源生sql在python中我们可以借助pymysql模块来进行执行源生sql关于pymysql执行源生sql可以看我的另外一篇博文:pymysql应用 本篇博客只介绍django中执行的源生sql 1.使用extra方法 解释:结果集修改器,一种提供额外查询参数的机制 说明:依赖model模型 使用方式: 用在where后: Book.objects.filter(publisher_id="1").extra(where=["title='python学习1'"

【Django】执行原生SQL的三种方法 &#632542;

原文: 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框架学习-Model进阶用法

Model进阶用法 回顾 访问外键 访问多对多关系 更改数据库结构 当处理数据库结构改变时,需要注意到几点: 增加字段 首先在开发环境中: 再到产品环境中: 删除字段 删除多对多字段 删除model Manager管理器 给管理器添加新的方法 修改返回的QuerySet Model的方法 执行自定义SQL语句 Model进阶用法 回顾 Django中的model层主要和数据库进行交互,使用数据库API对数据库进行增删改查的操作. 下面将介绍关于model层更深入的用法. 下面是之前创建model