webpy中db模块的CRUD操作

这篇文章主要介绍下,如何通过webpy的db模块完成crud操作。一开始觉得webpy的db模块写的太绕了,现在仔细看了源代码之后,发现确实封装的过于多了点,把一个sql语句各种拆。相对于简单的sqlhelper来说——比如tornadb,这个东西复杂了点,对于ORM来说,这东西有简单了点。不过想起最早时我在写vb或者.net的时候自己写sqlhelper也有过此类的想法,把sql语句的各个部分都给封装起来。

关于某个工具或者类的解释,通过代码能表达得更加直观:

#coding:utf-8importwebdb=web.database(dbn='sqlite',db="todos.db")classTodos(object):@staticmethoddefget_by_id(id):itertodo=db.select('todos',where="id=$id",vars=locals())# 参考:https://groups.google.com/forum/#!msg/webpy/PP81l8C5kbQ/90Hgx3HUqG0Jreturnnext(iter(itertodo),None)@staticmethoddefget_all():returndb.select('todos')@staticmethoddefcreate(**kwargs):db.insert('todos',**kwargs)@staticmethoddefupdate(**kwargs):db.update('todos',where="id=$id",vars={"id":kwargs.pop('id')},**kwargs)@staticmethoddefdelete(id):db.delete('todos',where="id=$id",vars=locals())

这其实是对todos进行服务器端扩展的一部分代码,完整代码可见这里: webpy-todos

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java大联盟

Java面试手册:答题技巧

回答问题的思路:先正面叙述一些基本的核心知识,然后描述一些特殊的东西,最后再来一些锦上添花的东西。答题时,先答是什么,再答有什么作用和要注意什么(这部分最重要)...

18210
来自专栏程序员历小冰

MySQL探秘(八):InnoDB的事务

 事务是数据库最为重要的机制之一,凡是使用过数据库的人,都了解数据库的事务机制,也对ACID四个基本特性如数家珍。但是聊起事务或者ACID的底层实现原理,往往言...

13330
来自专栏码洞

鸿篇巨制 —— LevelDB 的整体架构

本节信息量很大,我们要从整体上把握 LevelDB 这座大厦的结构。当我们熟悉了整体的结构,接下来就可以各个击破来细致了解它的各种微妙的细节了。

18910
来自专栏DT数据侠

“不安分”的数据“提炼师” | 数据科学50人·贾西贝

为什么数据科学才有科学后缀,而从未听过物联网科学或者是区块链科学?华傲数据创始人贾西贝在这次专访中提出了一个有意思的观点。他认为数据当然是一门科学。从数据求学到...

15530
来自专栏斜述视角

差分隐私技术

2016年,差分隐私从研究论文一跃成为科技新闻头条,在WWDC主题演讲中,苹果工程副总裁Craig Federighi宣布苹果使用这一概念来保护iOS用户隐私。...

59930
来自专栏Python爬虫与数据挖掘

本地计算机上的MySQL服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止[解决方案]

这几天因为工作需求,需要把MySQL请出来,所以将尘封已久的MySQL进行启动。可是事与愿违,兴许是许久没有访问MySQL了,MySQL生气的不理我,并向外抛出...

4.7K60
来自专栏程序员历小冰

MySQL探秘(六):InnoDB一致性非锁定读

 一致性非锁定读(consistent nonlocking read)是指InnoDB存储引擎通过多版本控制(MVVC)读取当前数据库中行数据的方式。如果读取...

11610
来自专栏嘉为科技的专栏

浅谈中大型企业CMDB的建设

针对CMDB这个主题,之前一直想写一篇文章来表达我的看法,但是之前一直不敢写,为什么?因为CMDB这个主题属于一提大家都懂,但是深入讨论大家都晕菜的一个话题;在...

35430
来自专栏Python爬虫与数据挖掘

MySQL服务正在启动或停止中,请稍候片刻后再试一次【解决方案】

现在,你不努力让自己过上想要的生活,那以后,你就会用大把的时间,去应付自己不想要的生活。

13940
来自专栏信安之路

代码审计之 UsualToolCMS

写到一半全部删了,觉得自己还不够经验写这样的东西,以免自己的文章对各位大佬带来误导。

22220

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励