2010-06-01 4 views
0

У меня возникла проблема с созданием транзакции. Я получаю сообщение об ошибке, что объекты не находятся в одной группе сущностей.Проблема с группой транзакций группы приложений App

У меня есть тип, называемый «Отношения», и мне нужно создать двусторонние отношения между двумя сторонами.

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 являются ссылочными свойствами. Как я могу выполнить транзакцию по этому бизнес-правилу?

ответ

3

Вам необходимо понять группы сущностей, прежде чем сможете эффективно работать с транзакциями в движке приложения. Начало here. Короче говоря, в транзакции могут участвовать только объекты (то, что вы называете записями) в одной и той же группе сущностей. По умолчанию объекты создаются в их собственной группе, поэтому вы не сможете выполнять транзакцию на них.

+0

Я прочитал документацию по группам сущностей, но просматривал, как если бы объект представлял собой группу сущностей, более горизонтальную, чем вертикальную. Теперь я вижу, что сущность - это запись и что ее родители и дети составляют группу. это имеет смысл. Надеюсь, на этот раз я исправлю это. Еще раз спасибо. –

+0

Понимание - это половина битвы. Следующая задача - выяснить, как структурировать ваши данные, чтобы вы могли иметь небольшие группы сущностей, но все же выполнять транзакции, когда вам нужно. –

Смежные вопросы