在我正在开发的GAE应用程序中,我有一个Room
实体,它有KeyProperty
到Match
个对象。房间应该总是匹配,没有房间就不能存在匹配。
现在,我假设我必须创建一个匹配对象:
Match(parent=room.key)
但是,房间总是需要创建匹配,我想到的唯一方法是:
room = Room()
match = Match(parent=room.put())
room.match_key = match.put()
room.put() # again!
有没有办法避免这个问题?
答案 0 :(得分:5)
我不明白为什么你希望Match都将Room作为父级,而父级需要KeyProperty来匹配。这是不必要的循环。选择一个或另一个:如果您想要父/子关系,请保留父键并通过ancestor()
查询匹配;否则遗漏父键,所以不需要先创建房间。