как ссылаться на переменную через db.run_in_transaction в google-app-engine - PullRequest
0 голосов
/ 18 июля 2010

это мой код:

class A(db.Model):
    a=db.StringProperty()

class demo(BaseRequestHandler):
    def get(self):
        a=''
        def fn():
            global a
            a=A(a='www')
            a.put()
        db.run_in_transaction(fn)
        raise Exception(a.key())

и ошибка:

raise Exception(a.key())
AttributeError: 'str' object has no attribute 'key'

так как правильно получить 'а',

спасибо

1 Ответ

3 голосов
/ 18 июля 2010

Попробуйте это:

class demo(BaseRequestHandler):
    def get(self):
        def fn():
            a=A(a='www')
            a.put()
            return a
        a = db.run_in_transaction(fn)
        raise Exception(a.key())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...