2011-08-03 10 views
0

私はgaeデータストアにデータを格納しましたが、データをクエリしてプロパティを参照すると、属性の値ではなくオブジェクトへの参照を取得しているようです。私はdefinition.class_nameを参照する場合GAE Datastoreのクエリでは値の代わりにプロパティタイプが返されます

class ClassDefinitions(db.Model): 
    class_name = db.StringProperty 
    class_definition = db.TextProperty 

class FlexEntityAdminHandler(webapp.RequestHandler): 
    def get(self): 
     query = db.GqlQuery("SELECT * FROM ClassDefinitions") 
     definitions = query.fetch(1000, 0) 

     for definition in definitions: 
      logging.info("Name: %s", definition.class_name) 
      logging.info("Def: %s", definition.class_definition) 

私が取得:

<class 'google.appengine.ext.db.StringProperty'> 

の代わりに私が格納された値。私は新しいエントリを追加するたびにクエリの結果の数が1ずつ増えるので、それが格納されていることを知っています。誰かが間違っていることを知っていますか?

答えて

4

モデルを作成するとき、あなたは、プロパティ型クラスの実際のインスタンスを作成する必要があります。

class ClassDefinitions(db.Model): 
    class_name = db.StringProperty() 
    class_definition = db.TextProperty() 

(。()注)

+0

おかげで、そのような明白な間違いが、私はを見つめてきましたそれは数時間! –

関連する問題