App Engine交易实体组问题

时间:2010-06-01 13:58:31

标签: python google-app-engine transactions

我在创建交易时遇到问题。我得到一个错误,即对象不在同一个实体组中。

我有一个名为Relationship的类型,我需要在两方之间建立双向关系。

def _transaction():
    relationship1 = Relationship(firstParty = party1, secondParty = party2)
    relationship2 = Relationship(firstParty = party2, secondParty = party1)
    db.put([relationship1 , relationship2 ])
db.run_in_transaction(_transaction)

两个派对对象都是同一类型。业务规则规定记录需要保留或需要失败。错误来自派对对象。属性firstParty和secondParty是Reference Properties。如何在此业务规则上执行交易?

1 个答案:

答案 0 :(得分:3)

您需要了解实体组才能有效地处理应用引擎中的事务。开始here。简而言之,只有同一实体组中的实体(您称之为记录)才能参与到事务中。默认情况下,实体是在自己的组中创建的,因此您将无法对它们执行事务。