2012-09-05 84 views
1

我有一個基本類: 如何將不需要的屬性保存到數據存儲?

class Post (db.Model): 
    title = db.StringProperty(required = True) 
    text = db.TextProperty(required = True) 
    created = db.DateTimeProperty(auto_now_add = True). 

new_record = Post(title = "TESSSST", text = "TESSST") 
new_record.put() #works! 

而且它工作正常 - 在創建實例和數據寫入。但只要我刪除「=需要真正的」屬性不再存儲在數據存儲:

class Post (db.Model): 
    title = db.StringProperty(required = True) 
    text = db.TextProperty 
    created = db.DateTimeProperty(auto_now_add = True) 

new_record = Post(title = "TESSSST") 
new_record.text = "Burn conctructor!" 
new_record.put() # text property won't be saved 

我不知道這是否是有幫助的,但是當我通過檢查所有print new_record.__dict__值的屬性,是由構造分配有'_'前綴(如'_title')和其他沒有(只是'文本')。

所以問題是「是否有可能將數據存儲保存爲非必需的(而不是由構造函數初始化)?」我無法在gae文檔中找到答案。

回答

1

但是你不是剛剛刪除required=True,你已經刪除了實例化該字段的括號()。它應該是

text = db.TextProperty() 
+0

,你可以添加一個默認值,而不是無返回您可以設置默認=「」 –

+0

多麼愚蠢的錯誤!非常感謝!你救了我的大腦) –

相關問題