Опрос GAE Datastore возвращает типы свойств вместо значений - PullRequest
0 голосов
/ 03 августа 2011

Я сохранил данные в хранилище данных 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 Ответ

4 голосов
/ 03 августа 2011

При создании модели необходимо создать фактические экземпляры классов типов свойств:

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

(обратите внимание на ().)

...