我在house
的{{1}}中有一个district
的结构,我需要使用{在city
和/或city
搜索房屋{1}}(因为我还需要过滤其他属性)。
district
有ndb.Query
个列表,City
列有district
个。
注意:这里没有祖先,因为这是更大图的一部分,因此无法进行祖先查询。
例:
获取指定district
中house
house
的所有area > 500
(city
中的字段name
)。
答案 0 :(得分:1)
由于你不能做JOIN,你必须稍微改变你的设计。
最简单的选择是将city_name
添加为House
的属性,这似乎可以回答您的示例和一般性问题。
如果您无法更改模型,或者查询更复杂,您可以让另一个实体保存查询所需的所有信息(您的非规范化表),并仅将其用于此。 House
可以是它的祖先,因此您可以执行仅限密钥查询,这将节省您的时间/金钱。另请尝试define indexes查找最常见的查询。