the5fire

关注Python、Django、Vim、Linux、Web开发、团队管理和互联网--Life is short, we need Python.


webpy中db模块的CRUD操作

作者:the5fire | 标签:   | 发布:2013-12-21 7:29 p.m. | 阅读量: 9199, 8827

这篇文章主要介绍下,如何通过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

- from the5fire.com
----EOF-----

微信公众号:Python程序员杂谈


其他分类: