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()
4

1 回答 1

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

于 2013-05-31T10:55:03.707 回答