Suche senden
Hochladen
quick_orm 简介
•
Als PPT, PDF herunterladen
•
2 gefällt mir
•
1,584 views
T
tyler4long
Folgen
quick_orm 简介, quick_orm 快速上手. 怎么用quick_orm为stackoverflow这样的问答网站建模
Weniger lesen
Mehr lesen
Technologie
Melden
Teilen
Melden
Teilen
1 von 27
Jetzt herunterladen
Empfohlen
Web testing automation
Web testing automation
kuozui
网站前端代码静态检查工具研究
网站前端代码静态检查工具研究
pop2008
Tutorial of eclipse
Tutorial of eclipse
netdbncku
Beta testing with CI
Beta testing with CI
Liyao Chen
试玩前端测试的前因后果
试玩前端测试的前因后果
hahaxiaolaohu
试玩前端测试的前因后果
试玩前端测试的前因后果
Zhicheng Wang
网站前端代码静态检查工具综述
网站前端代码静态检查工具综述
pop2008
美团点评技术沙龙06 - 滴滴移动端测试解耦工具实践
美团点评技术沙龙06 - 滴滴移动端测试解耦工具实践
美团点评技术团队
Empfohlen
Web testing automation
Web testing automation
kuozui
网站前端代码静态检查工具研究
网站前端代码静态检查工具研究
pop2008
Tutorial of eclipse
Tutorial of eclipse
netdbncku
Beta testing with CI
Beta testing with CI
Liyao Chen
试玩前端测试的前因后果
试玩前端测试的前因后果
hahaxiaolaohu
试玩前端测试的前因后果
试玩前端测试的前因后果
Zhicheng Wang
网站前端代码静态检查工具综述
网站前端代码静态检查工具综述
pop2008
美团点评技术沙龙06 - 滴滴移动端测试解耦工具实践
美团点评技术沙龙06 - 滴滴移动端测试解耦工具实践
美团点评技术团队
MoRally slides for slideshare
MoRally slides for slideshare
Juma Al-JouJou
PayLease Overview
PayLease Overview
Stacy Brown
Rails automatic test driven development
Rails automatic test driven development
tyler4long
Virtual Poster Session
Virtual Poster Session
yvovides
Brochure2
Brochure2
dwoodle1
What have you learnt about technologies during this
What have you learnt about technologies during this
06cuffale
Uliweb比较与实践 2013
Uliweb比较与实践 2013
modou li
Asp.net mvc網站的從無到有
Asp.net mvc網站的從無到有
Wade Huang
资身Dba经验谈
资身Dba经验谈
yiditushe
01 orm概述及持久化介绍
01 orm概述及持久化介绍
Zelin Wang
Asp.net mvc 從無到有 -twMVC#2
Asp.net mvc 從無到有 -twMVC#2
twMVC
twMVC#02 | ASP.NET MVC 從無到有
twMVC#02 | ASP.NET MVC 從無到有
twMVC
How to-become-ocm1
How to-become-ocm1
xiaoshi100a
淘宝网前端开发面试题
淘宝网前端开发面试题
Lumend
美团前端架构简介
美团前端架构简介
pan weizeng
程式人雜誌 -- 2013年3月號
程式人雜誌 -- 2013年3月號
鍾誠 陳鍾誠
淘宝网前端应用与发展
淘宝网前端应用与发展
taobao.com
信息系统开发平台OpenExpressApp
信息系统开发平台OpenExpressApp
zhoujg
Ibmzf2
Ibmzf2
daoopp
twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程
twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程
twMVC
Dynamic JS Loader
Dynamic JS Loader
feifeipan
如何架构和开发高性能,高伸缩性Web 应用系统
如何架构和开发高性能,高伸缩性Web 应用系统
melity78
Weitere ähnliche Inhalte
Andere mochten auch
MoRally slides for slideshare
MoRally slides for slideshare
Juma Al-JouJou
PayLease Overview
PayLease Overview
Stacy Brown
Rails automatic test driven development
Rails automatic test driven development
tyler4long
Virtual Poster Session
Virtual Poster Session
yvovides
Brochure2
Brochure2
dwoodle1
What have you learnt about technologies during this
What have you learnt about technologies during this
06cuffale
Andere mochten auch
(6)
MoRally slides for slideshare
MoRally slides for slideshare
PayLease Overview
PayLease Overview
Rails automatic test driven development
Rails automatic test driven development
Virtual Poster Session
Virtual Poster Session
Brochure2
Brochure2
What have you learnt about technologies during this
What have you learnt about technologies during this
Ähnlich wie quick_orm 简介
Uliweb比较与实践 2013
Uliweb比较与实践 2013
modou li
Asp.net mvc網站的從無到有
Asp.net mvc網站的從無到有
Wade Huang
资身Dba经验谈
资身Dba经验谈
yiditushe
01 orm概述及持久化介绍
01 orm概述及持久化介绍
Zelin Wang
Asp.net mvc 從無到有 -twMVC#2
Asp.net mvc 從無到有 -twMVC#2
twMVC
twMVC#02 | ASP.NET MVC 從無到有
twMVC#02 | ASP.NET MVC 從無到有
twMVC
How to-become-ocm1
How to-become-ocm1
xiaoshi100a
淘宝网前端开发面试题
淘宝网前端开发面试题
Lumend
美团前端架构简介
美团前端架构简介
pan weizeng
程式人雜誌 -- 2013年3月號
程式人雜誌 -- 2013年3月號
鍾誠 陳鍾誠
淘宝网前端应用与发展
淘宝网前端应用与发展
taobao.com
信息系统开发平台OpenExpressApp
信息系统开发平台OpenExpressApp
zhoujg
Ibmzf2
Ibmzf2
daoopp
twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程
twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程
twMVC
Dynamic JS Loader
Dynamic JS Loader
feifeipan
如何架构和开发高性能,高伸缩性Web 应用系统
如何架构和开发高性能,高伸缩性Web 应用系统
melity78
Ruby rails分享
Ruby rails分享
Cam Song
ASP.NET MVC 5線上課程(入門前三天)
ASP.NET MVC 5線上課程(入門前三天)
MIS2000 Lab.
掌星 移动互联网开发笔记-Vol002
掌星 移动互联网开发笔记-Vol002
rainx1982
Mysql handlersocket
Mysql handlersocket
pwesh
Ähnlich wie quick_orm 简介
(20)
Uliweb比较与实践 2013
Uliweb比较与实践 2013
Asp.net mvc網站的從無到有
Asp.net mvc網站的從無到有
资身Dba经验谈
资身Dba经验谈
01 orm概述及持久化介绍
01 orm概述及持久化介绍
Asp.net mvc 從無到有 -twMVC#2
Asp.net mvc 從無到有 -twMVC#2
twMVC#02 | ASP.NET MVC 從無到有
twMVC#02 | ASP.NET MVC 從無到有
How to-become-ocm1
How to-become-ocm1
淘宝网前端开发面试题
淘宝网前端开发面试题
美团前端架构简介
美团前端架构简介
程式人雜誌 -- 2013年3月號
程式人雜誌 -- 2013年3月號
淘宝网前端应用与发展
淘宝网前端应用与发展
信息系统开发平台OpenExpressApp
信息系统开发平台OpenExpressApp
Ibmzf2
Ibmzf2
twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程
twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程
Dynamic JS Loader
Dynamic JS Loader
如何架构和开发高性能,高伸缩性Web 应用系统
如何架构和开发高性能,高伸缩性Web 应用系统
Ruby rails分享
Ruby rails分享
ASP.NET MVC 5線上課程(入門前三天)
ASP.NET MVC 5線上課程(入門前三天)
掌星 移动互联网开发笔记-Vol002
掌星 移动互联网开发笔记-Vol002
Mysql handlersocket
Mysql handlersocket
quick_orm 简介
1.
quick_orm 简介
Tyler Long http://www.tylerlong.me
2.
quick_orm 是什么 Python
ORM 框架 基于 SQLAlchemy github: https://github.com/tylerlong/quick_orm pypi: http://pypi.python.org/pypi/quick_orm
3.
quick_orm 特点 quick:
一分钟快速上手 , 数据建模迅速直观 easy: 使用容易 , 完全不需要懂 SQL, 自动建表 simple: 核心代码仅 217 行 , bug 无处藏身 free: BSD license powerful: 基于 SQLAlchemy, 最强大的 Python ORM
4.
一分钟快速上手 安装 :
pip install quick_orm
5.
博客建模 除了第一行和最后一行 ,
其它的代码就是很普通的 Python 类 数据建模就是写 Python 类 , 不需要你掌握复杂的建模规 则
6.
问答网站建模 - 初始版本
7.
问答网站建模 - 添加评论模块
需要能对问题进行评论 需要能对回答进行评论 需要能对评论本身进行评论 可以评论别人的评论 , 于是形成了树形结构的评论记录 问题是如何进行数据建模呢 ? 貌似是个棘手的问题啊 !
8.
问答网站建模 - 表继承
9.
问答网站建模 - 粉丝与站内信
用户需要有粉丝 要能发站内信
10.
问答网站建模 - 标签
需要能对问题 , 回答 和评论进行标签
11.
问答网站建模 - 重构
12.
问答网站建模 - 继续重构
13.
问答网站建模 - 最终模型
14.
quick_orm 好在哪里 ? 让代码说话
一个典型的问答网站 : 用户 , 问题 , 回答 , 评论 , 标签 , 粉丝 , 站 内信 最终数据建模代码 28 行 ( 含空白行 ) 数据模型建好之后 , 数据表可以自动生成 , 数据的插入和查询接口 全部搞定 ! 我想不出 , 如果还有更好用的 ORM 框 架 , 到底还能在哪方面改进 ?
15.
运行一下看看 生成的数据表 :
16.
数据插入
17.
数据查询 执行结果 :
18.
功能扩展举例 - 投票功能
比如我想添加投票功能 , 包括 " 顶 " 和 " 踩 " 两种投票类型 需要能对问题 , 回答和评论进行投票 执行结果 :
19.
quick_orm vs. SQLAlchemy
不太好比 , 因为 quick_orm 基于 SQLAlchemy 就好像 Ubuntu vs. Linux 内核 理论上讲 , SQLAlchemy 支持的功能 , quick_orm 全部都支持 为什么不直接用 SQLAlchemy 呢 ? SQLAlchemy 建模表和表之间的关系的时候 , 比较冗长复杂 一旦表和表之间的关联关系增多 , 可维护性与可读性急剧下降 于是另外一款功能弱但使用简单的 ORM 会被一部分人追捧 : SQLObject
20.
SQLAlchemy 建模多对多关系 用
quick_orm 建模的话 :
21.
SQLAlchemy 建模表继承 用
quick_orm 建模的话 :
22.
把问答网的模型用 SQLAlchemy 重建一遍
?! 这个 ... 太复杂了 ... 我搞不定 . 感兴趣自己尝试下吧 .
23.
SQLObject http://sqlobject.org/ SQLAlchemy
之外的知名的 Python ORM 框架 功能不如 SQLAlchemy 强大 , 但是使用起来简单 有一些人在用 , 社区没有 SQLAlchemy 大 , 文档没有 SQLAlchemy 全 之所以它能在 SQLAlchemy 眼皮底下成长起来 , 就是因为它简 单 也可以反过来理解 : SQLAlchemy 的接口设计得太复杂了
24.
SQLObject 建模多对多关系 用
quick_orm 建模的话 :
25.
SQLObject 建模表继承 用
quick_orm 建模的话 :
26.
quick_orm vs. SQLObject
从前面两个例子看出 , quick_orm 和 SQLObject 使用都很简单 . quick_orm 兼容 SQLAlchemy, 事实上 quick_orm 用户碰到问 题大都去查 SQLAlchemy 的文档 . SQLAlchemy 的社区远大于 SQLObject 的社区 . quick_orm 功能上强于 SQLObject. ( 因为 quick_orm 是基于 SQLAlchemy 的 )
27.
Q&A 有更多问题欢迎到 github
项目主页提交 issue: https://github.com/tylerlong/quick_orm/issues 也欢迎到我的博客空间进行交流 ; http://www.tylerlong.me
Jetzt herunterladen