查询GAE数据存储区返回属性类型而不是值

时间:2011-08-03 04:20:08

标签: python google-app-engine google-cloud-datastore

我已经将数据存储在gae数据存储区中,但是当我查询数据并引用属性时,我似乎得到了对象的引用而不是属性的值。

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)

当我引用definition.class_name时,我得到:

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

而不是我存储的值。我知道它正在存储,因为每次添加新条目时,查询结果的数量都会增加1.有谁知道我做错了什么?

1 个答案:

答案 0 :(得分:4)

创建模型时,需要创建属性类型类的实际实例:

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

(注意()。)