2013-05-31 19 views
0

简单问题 1.如何检查一些代码是否在事务中执行? 2.如何获得交易信息?如果代码在事务中执行,如何检入应用程序引擎?

def someCode(): 
    class DeleteMe(db.Model): 
     pass 

    #how to check it here? 
    key = db.Key.from_path(DeleteMe.kind(), 'test') 
    model = DeleteMe.get(key) 
    if model is None: 
     model = DeleteMe(key = key) 
     model.put() 

我要检查是否someCode()在交易运行:

db.run_in_transaction(someCode) 

与否:

someCode() 

回答

3

您可以使用db.is_in_transaction()

见文档https://developers.google.com/appengine/docs/python/datastore/functions#is_in_transaction

如果你刚开始,我建议你考虑看看ndb,而不是db。 NDB具有等效ndb.in_transaction()

你应该看看事务上下文对象,看看有什么其他的信息,您可以获取/设置

https://developers.google.com/appengine/docs/python/datastore/functions#create_transaction_options

+0

谢谢你的提示。 – Chameleon

相关问题