概述
记录一下:
2012-11-02:16:30
两个月以前,公司内部技术管理层决定废弃公司使用两年的java技术,开始使用一个全新的语言来做cms系统,这门语言就是python,python不知道你听说没有,我是第一次听说,可想而知,公司里的人基本上都处于刚入门的水平,做东西,需要慢慢来。
先介绍一下基本框架,
1.sqlalchemy
2.web.py
呵呵 第一次听说,我表示很有压力,
但是没办法,硬着头皮上吧,
由于是刚开始学,所以一定会遇到很多很多的问题,下面我会一条一条的记录下来,仅作以后学习python同学的参考。
仅此纪念我对学习python的开始。
1.sqlachemy
错误内容:
<class 'sqlalchemy.exc.ArgumentError'> : Only update via a single table query is currently supported
代码内容:
upSeg={username:'xiaoming'}
a = aliased(TmFunccolumnDict);
db.query(a).filter(a.app_func==app_func).update(upSeg, synchronize_session=False)
基本介绍:
这条语句是用来更新TmFunccolumnDict对象所对应的表的记录,它的app_func值为app_func。
upSeg是更新操作的参数,
updata是标识更新操作,后面的参数标识是否同步参数 ,这里是False,但是没有True的值,还有两个值 fetch、evaluate,想要看具体什么意思
经进入 [url]http://docs.sqlalchemy.org/en/rel_0_7/orm/query.html[/url]
解决办法:
更具我的解决办法,是把alaised别名去掉
直接改为 :
db.query(TmFunccolumnDict).filter(TmFunccolumnDict.app_func==app_func).update(upSeg, synchronize_session=False)
解释:
个人认为,当取用别名的时候,sqlalchemy认为这不是一个表,而是多个表,所以提示说update操作只支持单表更新,
delete()操作 同上,都有这个问题。解决方案也一样。
最后
以上就是陶醉咖啡为你收集整理的python orm框架sqlalchemy执行更新、删除时遇到的一个bug的全部内容,希望文章能够帮你解决python orm框架sqlalchemy执行更新、删除时遇到的一个bug所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复