【发布时间】:2017-03-04 02:58:36
【问题描述】:
我正在使用 appengine 和数据存储。我有两个 GAE 模块共享相同的数据。一个模块在 Java 运行时运行,并利用 objectify 来写入数据。另一个在 Python 运行时运行,并使用 NDB 进行数据读取。
我的一种包含嵌入实体的列表。当我尝试从这种类型(Python 模块)中获取实体时,会出现以下错误:
RuntimeError: StructuredProperty memberOf expected to find properties separated by periods at a depth of 1; received ['memberOf']
Java/objectify 映射如下所示:
@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 NDB 映射:
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)
【问题讨论】:
标签: google-app-engine google-cloud-datastore app-engine-ndb objectify