Google App Engine的数据存储,今天对Query对象的get方法的误用 九月 17th, 2009
今天遇到了这么个问题:
我有一个名叫UserRecord的Model
Python语言: Codee#6137
class UserRecord(db.Model):
list = db.StringListProperty()
list = db.StringListProperty()
我需要修改它的第一个实例里的list属性:
Python语言: Codee#6138
UserRecords = db.Query(UserRecord)
UserRecords.get().toModify()
UserRecords.get().put()
UserRecords.get().toModify()
UserRecords.get().put()
按我上面那样写,结果没成功,list的值没变,于是我debug,发现问题了:
get方法每次返回的model是一个新的实例(来自不同的内存地址),而不是静态的句柄。
这样写就没问题了:
Python语言: Codee#6139
UserRecords.get().toModify().put()
GAE- 关于count()方法的返回类型 九月 4th, 2009
不知道大家有没有发现
在GAE服务器上 type(query.count())返回的是<type 'long'>
而部署在本地服务器上, type(query.count())返回的是<type 'int'>
今天有个应用需要把query.count()与int类型的值进行比较,才发现这个问题,没办法,只能int(query.count())了
到底是怎么回事呢,难道是python的版本不同吗?