2011-08-07 9 views
1

私のGoogle App Engine - Pythonアプリケーションで、モデルのJSONシリアル化を許可するto_dict()があります。私はmodelInstance.key()ことを確認するにはどうすればよいPython - Google App Engine - DictでモデルIDを取得

class BaseModel(db.Model): 
    createdOn = db.DateTimeProperty(auto_now_add=True) 
    createdBy = db.UserProperty(auto_current_user_add=True) 
    modifiedOn = db.DateTimeProperty(auto_now_add=True) 
    modifiedBy = db.UserProperty(auto_current_user=True) 

    def to_dict(self): 
    return dict([(p, unicode(getattr(self, p))) for p in self.properties()]) 

。ID()JSONオブジェクトの一部、したがって、辞書の一部ですか?あなたのモデルはいえIDを取得しようとする前にis_savedているかどうかを確認することをお勧めします

class MyModel(db.Model): 
    def to_dict(self): 
     return db.to_dict(self, {'id':self.key().id()}) 

:便利なto_dict方法はext.dbにあります

+0

プライマリキーフィールドをこの辞書にしたいのですか? –

+0

データストアはdictsを格納できる必要があります。回避策はありますが、[Google](http://code.google.com/p/googleappengine/issues/detail?id=805)には既にこの機能のリクエストがあります。この機能を持つことに関心がある場合は、発行番号の次の星をクリックして投票に行ってください。 –

答えて

5

、あなたは次のように何かにあなたの方法を更新することができます。

関連する問題