Я использую appengine и datastore. У меня два модуля GAE, которые используют одни и те же данные. Один модуль работает в среде выполнения Java и использует объектные данные для .. Другой работает в среде исполнения Python и использует NDB для данных , читает.GAE datastore: RuntimeError при попытке использовать python/NDB для чтения данных, написанных на Java/objectify
Один из моих видов содержит список вложенных объектов. Когда я пытаюсь извлечь объекты из этого (модуль Python) любезного возникает следующая ошибка:
RuntimeError: StructuredProperty memberOf expected to find properties separated by periods at a depth of 1; received ['memberOf']
Вот как Java/объективировать отображение выглядит следующим образом:
@Entity
public class Person {
@Id
private String id;
@Unindex
private Set<TeamMembership> memberOf = new HashSet<>();
public static class TeamMembership {
private DateTime joinedOn;
private Ref<Team> team;
private TeamMembership() {
}
}
}
Вот соответствующий Python ОПРС картографирование:
class Person(ndb.Model):
memberOf = ndb.StructuredProperty(TeamMembership, indexed=False, repeated=True)
class TeamMembership(ndb.Model):
joinedOn = ndb.DateTimeProperty(indexed=False)
team = ndb.KeyProperty(kind='Team', indexed=False, repeated=False)
Это сработало! Большое спасибо! –