Изменения нескольких объектов в одной транзакции - PullRequest
1 голос
/ 29 марта 2010

Я пытаюсь внести изменения в несколько объектов в рамках одной транзакции в платформе ядра приложения. Как я понимаю, чтобы добиться успеха, App Engine должен заранее знать, какие объекты будут обновляться вместе, чтобы он мог хранить их таким образом, чтобы поддерживать транзакции. И поэтому пользователь должен объявить, что сущность принадлежит к той же группе сущностей, что и другая сущность, когда вы создаете сущность.

Как мне объявить, что одна сущность принадлежит другой группе сущностей во время создания?

Ответы [ 2 ]

2 голосов
/ 29 марта 2010

Использование parent аргумента для конструктора модели

0 голосов
/ 28 февраля 2011

Просто возьмите объект первого класса как родительский параметр в конструкторе второго класса ...

как

class GroupA(db.Model):
    counterA = db.IntegerProperty()

class ExampleA(db.Model):
    exampleA = db.IntegerProperty()

def increment_counterA():

    obj = GroupA()
    obj.counterA = '89'
    obj.put()

    obj1 = ExampleA(parent = obj)
    obj1.exampleA = 90
    obj1.put()

class implementGroupA(webapp.RequestHandler):
    def get(self):
        db.run_in_transaction(increment_counterA)


def main():
    application = webapp.WSGIApplication([('/', implementGroupA)],
                                         debug=True)
    util.run_wsgi_app(application)

if __name__ == '__main__':
    main()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...