Я пытаюсь внести изменения в несколько объектов в рамках одной транзакции в платформе платформы приложений. Насколько я понимаю, чтобы добиться успеха, App Engine должен заранее знать, какие объекты будут обновляться вместе, поэтому он знает, что хранить их таким образом, чтобы поддерживать транзакции. И поэтому пользователь должен объявить, что объект принадлежит к той же группе сущностей, что и другой объект при создании объекта.
Как объявить, что один объект принадлежит к другой группе лиц во время создания?
Использование родительский аргумент для конструктора модели
Просто возьмите obj первого класса в качестве родительского параметра в конструкторе второго класса...
как
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()