位置: 编程技术 - 正文

Python的Django框架中使用SQLAlchemy操作数据库的教程(python django 项目框架图)

编辑:rootadmin

推荐整理分享Python的Django框架中使用SQLAlchemy操作数据库的教程(python django 项目框架图),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python的Django框架,python的django框架http请求,python的django框架中间件,python的django框架http请求,python的django框架教学,python的Django框架,python的django框架常见用法,python的django框架教学,内容如对您有帮助,希望把文章链接给更多的朋友!

零、SQLAlchemy是什么?SQLAlchemy的官网上写着它的介绍文字:

SQLAlchemy is the Python SQL toolkit and Object Relational Mapper that givesapplication developers the full power and flexibility of SQL.SQLAlchemy 是一个非常强大的ORM和数据库工具,但是它庞大的文档和复杂的功能总是让很 多人望而生畏。而Django的ORM相对来说就让很多人觉得简单实用。

事实上,SQLAlchemy其实也没有那么复杂,光使用它一些比较高级的功能其实并没有比 使用Django ORM复杂多少,而它丰富的功能则能让你在遇到更复杂的问题时处理起来得心应手。

写作本文的主要目的在于:

通过对比SQLAlchemy ORM和Django ORM的主要使用方法, 尽量简单直观的让Django用户能够快速了解和上手SQLAlchemy这款强大的工具。 不牵扯到SQLAlchemy具体的技术细节,包括Engine连接池、Session的具体工作原理等等

SQLAlchemy相对于Django内建的ORM来说,有几处非常明显的优点:

可独立使用,任何使用Python的项目都可以用它来操作数据库 和直接使用原始的DBAPI相比,提供了非常丰富的特性:连接池、auto-map等等 提供了更底层的SQL抽象语言,能用原始sql解决的问题基本上都可以用SQLAlchemy解决 接下来我们针对日常的数据库操作来对比一下Django ORM和SQLAlchemy。

文中使用的 SQLAlchemy 版本为 0.9.8

一、Django VS SQLAlchemy

SQLAlchemy的安装:

1.建立数据表

首先,我们需要先建立几个表。

(1)Django

在Django中,如果要建表,就是在models.py中定义你的数据类型:

因为文章主要面向有经验的Django用户,所以此处不写出详细的定义代码。定义Model以后 我们还需要在settings.py中DATABASES处设置需要连接的数据库地址。最后,使用syncdb来 完成数据库表的创建。

(2)SQLAlchemy

在SQLAlchemy中,定义表结构的过程和Django类似:

2.插入一些数据

接下来,我们往表中插入一些数据

(1)Django

Django中比较常用的插入数据方法就是使用 .save() 了。

Python的Django框架中使用SQLAlchemy操作数据库的教程(python django 项目框架图)

(2)SQLAlchemy

在SQLAlchemy ORM中,有一个非常关键的对象 session ,所有对于数据的操作都是 通过session来进行的,所以要插入数据之前,我们得先初始化一个session:

之后插入数据的方法也和Django比较相似:

除了commit之外,session还有rollback()等方法,你可以把session对象简单看成是一次 transaction,所以当你对内容进行修改时,需要调用 session.commit() 来提交这些修改。

去文档可以了解更多session相关内容: > 、< 都是使用在字段名称后面追加 "__gt"、"__lt" 来实现的,在SQLAlchemy 中这样的查询还要更直观一些

2.多条件或查询

(1)in查询

(2)like查询

3.统计个数

简单统计总数:

4.结果排序

对查询结果进行排序:

5.修改数据

6.批量修改

7.批量删除

三、SQLAlchemy其他一些值得关注的功能上面简单列了一些SQLAlchemy ORM和Django ORM的使用方法对比,SQLAlchemy同时还提供了一些 其他非常有用的功能,比如Automap~

假如你有一个Django项目,通过ORM创建了一大堆Model。这时来了一个新项目,需要操作 这些表,应该怎么办?拷贝这些Models?使用原始的DB-API加上sql来操作?

其实使用SQLAlchemy的Automap可以让你的工作变得非常的方便,你只要在新项目连接到旧数据库,然后 稍微配置一下Automap,就可以使用SQLAlchemy的ORM操作那些通过别的系统创建的表了。

就像这样:

更多信息可以参考详细文档:

Python搭建APNS苹果推送通知推送服务的相关模块使用指南 APNS是苹果为IOS设备提供的推送服务,全称是(ApplePushNotificationservice)。如果你有接触移动互联网相关的开发的话,应该对它很熟悉。接下来我会给大家简

从源码解析Python的Flask框架中request对象的用法 fromflaskimportrequestFlask是一个人气非常高的PythonWeb框架,笔者也拿它写过一些大大小小的项目,Flask有一个特性我非常的喜欢,就是无论在什么地方,如果

Python中的Descriptor描述符学习教程 Descriptor是什么?简而言之,Descriptor是用来定制访问类或实例的成员的一种协议。额。。好吧,一句话是说不清楚的。下面先介绍一下Python中成员变量的

标签: python django 项目框架图

本文链接地址:https://www.jiuchutong.com/biancheng/386942.html 转载请保留说明!

上一篇:详解Python中的__new__、__init__、__call__三个特殊方法(python:\n)

下一篇:Python搭建APNS苹果推送通知推送服务的相关模块使用指南(python搭建平台)

  • 应纳税所得额100万以内,税负2.5%是什么意思
  • 费改税是哪一年
  • 个体工商户税务申报一年几次
  • 增值税普通发票需要交税吗
  • 开具16个点发票情况说明
  • 未开票收入下月开票怎么做分录
  • 怎么确定印花税申报成功
  • 金税三期个人所得税怎么下载
  • 评职称用的专利跟地标是一个东西吗?
  • 企业所得税营业税金及附加
  • 旅行社差额纳税开专票吗 会议会展
  • 工伤赔付是那个出钱呢
  • 公司购买办公用品300元,以现金支付,购入后即被领用
  • 公司没有残疾人要交残疾人保障金吗
  • 小规模增值税附加税
  • 小规模农产品可以抵扣吗
  • 企业的银行存款日记账属于
  • 库存商品适用于什么账簿
  • 小规模纳税人的增值税怎么算
  • 购买电脑应该怎么做账
  • 为什么浏览器自动打开
  • 收到厂家商品的会计分录
  • 房地产企业集团内部间的担保费可以税前扣除嚒
  • 购入固定资产后发生的员工培训费应计入固定资产的成本
  • 办理劳务资质流程
  • 公司为员工交的社保比例
  • mediacachefiles什么意思
  • 地下停车位是否符合国家安全标准咨询那个部门
  • php表单的作用是什么
  • 栖息在树林中
  • 建筑企业异地预缴企业所得税
  • php7.3安装
  • 厂房的设计审查要求
  • mac环境搭建
  • 咨询类公司可以坐零售吗
  • thinkphp框架怎么用
  • 浅谈如何培养孩子的注意力
  • pytorch torch
  • 年底所得税怎么算
  • discuz怎么用
  • 个税各项减扣标准金额
  • 物业公司的会计科目有哪些
  • 一般纳税人费用专票如何做账
  • 帝国cms灵动标签 PHP变量文章ID加减1
  • ps索引工具怎么用
  • 退预收款需要对账吗
  • 海关报关单位注销操作规程
  • 安装sqlserver2005警告iis
  • 短期贷款利息支付
  • 固定资产补入账和补提折旧
  • 广告设计要交文化事业建设
  • 原材料的计划成本分录
  • 存在弃置费用的固定资产有哪些
  • 个体工商户要进行汇算清缴吗
  • 在建工程的人工费进行了全员申报后,清算时怎么处理?
  • 机械租赁公司需要什么证件
  • 分公司交总公司管理费怎么做账
  • 增值税不超过30万,普通发票可以开0税率吗
  • 公司注销固定资产必须清理吗
  • 收回多发工资需要什么附件入账
  • 长期待摊费用处置
  • 根据企业会计准则第11号规定,下列关于等待期
  • 接到国外的电话是怎么回事
  • 在centos上安装ftp服务应运行指令
  • 开机f8显示英文字母
  • windows自带的应用程序
  • linux网卡lo
  • 怎么解决xp不能安装软件
  • Linux一键安装ftp
  • win10系统访问不了
  • grep正则表达式运用举例
  • 让动画不再僵硬的软件
  • html用div来写表格
  • CSSvista可同时在IE和Fifrefox调试的CSS编辑提供下载
  • Node.js中的construct构造函数
  • jQuery dataTables与jQuery UI 对话框dialog的使用教程
  • 河北电子税务局新版登录
  • 税务上的工会经费是必须交的吗?
  • 土地增值税旧房转让计算方法
  • 融资租赁做什么业务
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设