日期:2014-05-16  浏览次数:20541 次

web.py笔记db处理 坑爹_test=True

http://webpy.org/cookbook/Insert.zh-cn

http://webpy.org/cookbook/update.zh-cn

?

db.insert 和db.update处理?

看见里面有个_test选项

貌似是查看sql语句的

于是加入 _test= True,试验

结果。。。。

必须要像api中http://webpy.org/docs/0.3/api一样如此执行,才能打出sql语句来,还以为是执行db.upate的时候就会打出来呢

>>> db = DB(None, {})
>>> name = 'Joseph'
>>> q = db.update('foo', where='name = $name', name='bob', age=2,
...     created=SQLLiteral('NOW()'), vars=locals(), _test=True)
>>> q
<sql: "UPDATE foo SET age = 2, name = 'bob', created = NOW() WHERE name = 'Joseph'">
>>> q.query()
'UPDATE foo SET age = %s, name = %s, created = NOW() WHERE name = %s'
>>> q.values()
[2, 'bob', 'Joseph']

?

最坑爹的是

经过屡次试验,才发现,如果_test=True

update,insert的结果不会保存的

即使马上select,结果也是如此

cookbook里面怎么没有说具体一点呢?调试了半天才发现这个问题

哎,cookbook坑爹啊