WEB开发网
开发学院软件开发Python 把sqlalchemy的result当成struct使用 阅读

把sqlalchemy的result当成struct使用

 2008-11-10 13:21:28 来源:WEB开发网   
核心提示:在述说下面的编程故事的之前:先把结论写在前面:结论:python是动态语言,解释型编程.有什么问题,就到他shell中去试验下,会有找好多问题!前面一篇文章"python:logging注意事项(小心重复记录相同的日志).<removeHandler"也是这样去解决的!需要dbconn.py可

在述说下面的编程故事的之前:先把结论写在前面:

结论:

python是动态语言,解释型编程.有什么问题,就到他shell中去试验下,会有找好多问题!前面一篇文章"python:logging注意事项(小心重复记录相同的日志).<----removeHandler"也是这样去解决的!需要dbconn.py可以到"mysql+pickle代替ZODB"文章中去下载dbconn.tar里面有类似类.

#######################编程故事开始了######################

在修改pyton下程序的时候,发现如果把原来的程序改为改变的话,会出现一些特别需求.

原程序描述:使用django操作数据库.

现程序描述:需要改为sqlalchemy操作数据库.

django使用了models.py(对象)来操作数据库.这样每个对象就就拥有了数据库field属性.在程序中可以直接调用这个属性写程序.而我们的要求是用sqlalchemy连接数据库,但是不用sqlalchemy建表(手工建表),所以就不需要写sqlalchemy类型的table语句.

程序有需要使用django模板渲染.其中要求调用models.py给出的对象的属性.调用方法为:adv.title.介绍下:new了一个对象为adv对象,这样可以从数据库中取得记录(id,title,kwd).

程序实现的改变了.就必须也要做到这样:建一个class,包含特定表的属性.从数据库中取出数据,并一一复制给这些属性.django使用才会很方便的使用,程序才能够做到最下的改变.实现程序NewDb.py

问题是:程序中有n张表,就要建立n个class.这是一个很费力的事情.不仅仅如此,还得做测试.我想没有多少人愿意做这样重复的事情.而且功能并没有得到实现.

最开始:我没有明白这个需求.以为可以如下做就可以了:

adv = DbResult( result )#

print adv["title"]

1 2 3 4 5  下一页

Tags:sqlalchemy result 当成

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接