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

相關問題