小编Jay*_*Jay的帖子

没有web2py的DAL

我正在使用web2py为我的网站供电.我决定将web2py DAL用于在网站后面运行的长期运行程序.该程序似乎没有更新其数据或数据库(有时).

from gluon.sql import *
from gluon.sql import SQLDB

from locdb import * 
# contains
# db = SQLDB("mysql://user/pw@localhost/mydb", pool_size=10)
# db.define_table('orders', Field('status', 'integer'), Field('item', 'string'),
#    migrate='orders.table')
orderid = 20 # there is row with id == 20 in table orders
#when I do 
db(db.orders.id==orderid).update(status=6703)
db.commit()
Run Code Online (Sandbox Code Playgroud)

它不会更新数据库,并且具有此ID的订单上的选择会显示正确的数据.在某些情况下,提交后的"db.rollback()"似乎有所帮助.

至少可以说很奇怪.你见过这个吗?更重要的是你知道解决方案吗?


更新:
更正:有问题的选择是在程序内完成的,而不是在程序之外.

有时,在进行一系列更新时,有些会在外面工作并且可用,而有些则无法使用.此外,一些查询将返回它最初返回的数据,即使数据在自原始查询后数据库中发生了更改.

我很想抛弃这种方法并转向另一种方法,任何建议?

data-access-layer web2py

6
推荐指数
1
解决办法
1207
查看次数

标签 统计

data-access-layer ×1

web2py ×1