2010-03-29 9 views
1

J'essaie d'apporter des modifications à plusieurs entités au sein d'une même transaction dans la plate-forme du moteur d'applications. Si je comprends bien pour réussir, App Engine doit savoir à l'avance quelles entités seront mises à jour ensemble, de sorte qu'il sait les stocker de manière à supporter les transactions. Par conséquent, l'utilisateur doit déclarer qu'une entité appartient au même groupe d'entités qu'une autre entité lorsque vous créez l'entité. Comment déclarer qu'une entité appartient à un autre groupe d'entités au moment de la création?Modifications apportées à plusieurs entités au sein d'une même transaction

Répondre

2

en utilisant l'argument parent pour modéliser constructeur

0

Il suffit de prendre obj de première classe en tant que paramètre parent dans le deuxième constructeur de la classe ...

comme

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() 
Questions connexes