0

我在App Engine上的Python中有一个NDB Model类。我创建了一个具有重复属性名称的ndb.model

我只注意到我的模型的类定义重复了一个属性定义。

from google.appengine.ext import ndb 

class Account(ndb.Model): 
    username = ndb.StringProperty() 
    email = ndb.StringProperty() 
    started = ndb.DateTimeProperty(auto_now=False) 
    #...  
    started = ndb.DateTimeProperty(auto_now=False) 

的错误一直有一段时间了,从来没有引起一个问题,同时创建对象并保存或读取开始财产。

现在,如果我删除其中一个副本,那么模型将不会与存储在数据存储中的内容对齐。

解决此问题的正确方法是什么?

回答

2

只要删除started,你就全部设置好了。实际上只有一个(第二个)属性保存在数据存储中,您可以在数据存储实体选项卡中检查该属性。

+0

确定吗?我试过了,我的模型开始表现得很差 - 对旧对象属性的更新没有存储。我最终删除了旧的对象,因此我无法确认哪些是歪斜的。 – intotecho

+0

你的意思是'开始'属性的更新吗? 'auto_now'应设置为True,以在每次投入/更新时更新 – glmvrml

+0

该属性已手动设置。然而,它似乎正在恢复其旧值,而不是更新后的值,这就是为什么我问这个问题。否则,你描述的行为正是我期望它的工作原理。 – intotecho

相关问题