2012-02-15 44 views
2

我正在使用App Engine构建一个网站,并发生了一件奇怪的事情。还有,我在我的数据库布尔值不一致

class UserTable(db.Expando): 
    isVerified = db.BooleanProperty() 
在接下来的几行

的一个使用布尔变量,我要通过键入此

TheUser = UserTable.get_by_key_name(Theusername) 
logging.info(TheUser.isVerified) 
TheUser.isVerified = True 
logging.info(TheUser.isVerified) 

然后我的日志它的值从默认为false更改为true文件显示该值已更改,但GUI数据存储区查看器以另一种方式表示,它仍然是假的,就好像没有发生任何事情。任何想法为什么?谢谢

+0

您是否已将更改提交回数据库? – Nilesh 2012-02-15 05:35:57

+0

你是什么意思?我在启动包含它的实体时将布尔值设置为false,并在上面尝试将其更改为true。谢谢 – 2012-02-15 05:41:13

+0

提交意味着你是否保存对数据库的更改? – Nilesh 2012-02-15 05:49:28

回答

2

查看数据存储intro文档。您需要让实体在进行更改后保存它。

theuser = UserTable.get_by_key_name(Theusername) 
theuser.isVerified = True 
theuser.put() 
+0

我完全忘记了这一点,我认为你只需要在创建实体时放置()。非常感谢你。 – 2012-02-15 05:47:38

+0

这是你想要做的,当你改变内存中的任何对象,并希望在数据库中进行相同的更改。 – Nilesh 2012-02-15 05:50:02

+0

真的很感激 – 2012-02-15 05:52:33