连接游标主要实现 PEP 249中描述的Python DB API标准——除非它涉及到事务处理

如果你不熟悉Python DB-API,注意cursor.execute()中的SQL语句使用占位符"%s",而不是直接在SQL中添加参数。如果你使用这种方法,底层数据库的库会在必要时自动转义你的参数。

还要注意Django 使用"%s"占位符,而不是 SQLite Python 使用的"?"占位符。这是一致性和可用性的缘故。

Changed in Django 1.7.

PEP 249并没有说明游标是否可以作为上下文管理器使用。在Python 2.7之前,由于魔术方法查询(Python ticket #9220)中的一个意想不到的行为,游标可以用作上下文管理器。Django 1.7 明确添加允许使用游标作为上下文管理器的支持。

将游标作为上下文管理器使用:

with connection.cursor() as c:
c.execute(...)

等价于:

c = connection.cursor()
try:
c.execute(...)
finally:
c.close()

django连接和游标的更多相关文章

  1. Python Django连接(听明白了是连接不是创建!)Mysql已存在的数据库

    再声明一次!是连接不是创建!网上的一些人难道连接和创建这俩词都弄不懂就在那里瞎写一些文章! (Python Django连接存在的数据库) Python连接存在的数据库-------MySql 1.首 ...

  2. Python学习笔记-Django连接SQLSERVER

    Django连接SQLSERVER使用的是odbc驱动. CentOS下安装django-obdc-azure时需安装依懒 yum install gcc yum install gcc-c++ yu ...

  3. Django 连接mysql数据库中文乱码

    Django 连接mysql数据库中文乱码 2018年08月25日 20:55:15 可乐乐乐乐乐 阅读数:566   版本:CentOS6.8 python3.6.4 django1.8.2 数据库 ...

  4. django连接mysql数据库以及建表操作

    django连接mysql数据库需要在project同名的目录下面的__init__.py里面加入下面的东西 import pymysql pymysql.install_as_MySQLdb() 找 ...

  5. python测试开发django-10.django连接mysql

    前言 Django 对各种数据库提供了很好的支持,包括:PostgreSQL.MySQL.SQLite.Oracle.本篇以mysql为例简单介绍django连接mysql进行数据操作 Django连 ...

  6. Python3:Django连接Mysql数据库时出错,'Did you install mysqlclient or MySQL-python?'

    Python3:Django连接Mysql数据库时出错,'Did you install mysqlclient or MySQL-python?' 一.原因 因为Python版本问题,MySQLdb ...

  7. 使用Django创建一个后端是SQLSERVER的简单系统(一)Django连接SQLServer数据库

    window环境下Django连接SQLSERVER, 1.创建项目: 2.创建application: 3.使用pycharm打开项目,如下图: 4.配置虚拟环境: 安装Django\pyodbc\ ...

  8. django 连接MYSQL时,数据迁移时报:django.db.utils.InternalError: (1366, "Incorrect string value: '\\xE9\\x97\\xAE\\xE9\\xA2\\x98' for column 'name' at row 5")

    django 连接MYSQL时,数据迁移时报:django.db.utils.InternalError: (1366, "Incorrect string value: '\\xE9\\x ...

  9. django连接Oracle过程中出现的问题

    开始时版本信息: python 3.6   +   ce_oracle 6 最终版本信息: python 3.5   + ce_oracle 5.2 ce_oracle版本问题 cx_Oracle-5 ...

随机推荐

  1. 如何替换B字段内包含A字段的那部分内容

    Customer表A字段  varchar(50)     内容(客户姓名)B字段  varchar(1000)   内容(其他字符...客户姓名...其他字符)需要达到效果:将B字段中的客户姓名替换 ...

  2. java高并发核心要点|系列2|锁的底层实现原理

    上篇文章,我们主要讲了解决多线程之间共享数据的核心问题和解决方案,也讲了锁的简单分类. 那么,这把锁,我们应该怎么去实现呢?如果你是java语言设计者,你又会怎么去设计这个线程锁呢? 直觉告诉我们,我 ...

  3. ActiveMQ与Spring / SpringBoot 整合(四)

    1. 对 Spring 的整合 1.1 所需jar 包 <!-- activeMQ jms 的支持 --> <dependency> <groupId>org.sp ...

  4. SpringMVC @CookieValue注解

    @CookieValue的作用 用来获取Cookie中的值 @CookieValue参数 1.value:参数名称 2.required:是否必须 3.defaultValue:默认值 @Cookie ...

  5. springboot与spring比较区别

    一.从一道面试题说起 面试的时候经常会被问到,spring和springboot的区别.或者SpringMVC和Springboot的区别.其实这样的问法就不是特别合适.因为spring.spring ...

  6. html头部和底部固定时,中间的内容随屏幕分别率铺满页面

    html页面头部和底部有东西时,怎么让内容填充到中间的页面,且去适应不同的电脑分辨率,看代码 <!DOCTYPE html> <html> <head> <m ...

  7. python类库26[sqlite]

    一 sqlite 与 python 的类型对应 二 实例 import sqlite3 def sqlite_basic():     # Connect to db     conn = sqlit ...

  8. c# 操作mysql数据库的时候会出现 插入中文汉字变成问号?

    场景: 在mysql ce里面执行时没有问题的. c#操作会出现问号. 原因是:  链接字符串的时候 要设置Charset=utf8; 不然就会按默认的服务器设置编码,通常会出问题. 检查: 1.创建 ...

  9. linux-网络管理-6

    Hub 集线器 物理层设备 多端口中继器,不记忆MAC地址 以太网桥 OSI第二层数据链路层 扩展了网络带宽 分割了网络冲突域,使网络冲突被限制在最小的范围内 交换机作为更加智能的交换设备,能够提供更 ...

  10. json解析工具类

    对jackson的ObjectMapper的封装: ObjectMapperUtils: import static com.fasterxml.jackson.core.JsonFactory.Fe ...