Python 应用程序引擎事务实体组问题

Python 应用程序引擎事务实体组问题,python,google-app-engine,transactions,Python,Google App Engine,Transactions,我在创建事务时遇到问题。我得到一个错误,对象不在同一个实体组中 我有一种叫做关系的类型,我需要在双方之间建立一种双向关系 def _transaction(): relationship1 = Relationship(firstParty = party1, secondParty = party2) relationship2 = Relationship(firstParty = party2, secondParty = party1) db.put([relat

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

我有一种叫做关系的类型,我需要在双方之间建立一种双向关系

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

两个参与方对象的类型相同。业务规则规定这两个记录都需要持久化,否则需要失败。错误来自party对象。第一方和第二方的属性是参考属性。如何在此业务规则上执行事务?

在app engine中有效处理事务之前,您需要了解实体组。开始简而言之,只有同一实体组中的实体(您称之为记录)才能参与交易。默认情况下,实体是在其自己的组中创建的,因此您将无法对其执行事务。

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

我已经阅读了有关实体组的文档,但一直在查看对象,就好像对象是实体组一样,更多的是水平关系而不是垂直关系。我现在看到一个实体是一个记录,它的父母和孩子组成了这个团体。这是有道理的。希望这次我能做对。再次感谢。理解是成功的一半。下一个挑战是如何构建数据结构,以便您可以拥有小型实体组,但在需要时仍可以执行事务。我已经阅读了有关实体组的文档,但一直将对象视为实体组,更多的是横向关系,而不是纵向关系。我现在看到一个实体是一个记录,它的父母和孩子组成了这个团体。这是有道理的。希望这次我能做对。再次感谢。理解是成功的一半。下一个挑战是弄清楚如何构造数据,以便您可以拥有小型实体组,但在需要时仍可以执行事务。