Как изменить предка записи NDB?

В High -Replication Datastore (я использую NDB ), согласованность возможна. Для получения гарантированного полного набора можно использовать запросы предков. Запросы предков также предоставляют отличный способ получить всех «потомков» определенного предка с помощью недобрых запросов. Короче говоря, возможность использовать модель предков чрезвычайно полезна в GAE.

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

Мне нужно иметь возможность "объединить" две записи и свести все сообщения в одну большую кучу. В идеале я мог бы изменить предка для одного из дочерних элементов записи.

Единственный способ, которым я могу это сделать, - создать сопоставление и заставить мое приложение проверять, была ли запись объединена. Если это так, просмотрите сопоставления, чтобы найти одну или несколько связанных записей, и выполните запросы к ним. Это кажется крайне неэффективным. Есть ли еще «по книге» способ обработки этого варианта использования?

5
задан Sologoub 7 August 2012 в 21:04
поделиться