我有以下两个实体。
class Photo(db.Model):
name=db.StringProperty()
registerdate=db.DateTimeProperty()
iso=db.StringProperty()
exposure=db.StringProperty()
class PhotoRatings(db.Model):
ratings=db.IntegerProperty()
我需要做以下事情。 获得所有照片(照片)与iso = 800按照评级排序(PhotoRatings)。 我不能在Photo中添加添加评级,因为评级一直在变化,我必须每次都写整个Photo实体。这将花费我更多的时间和金钱,应用程序将受到性能影响。 我看了这个, https://developers.google.com/appengine/articles/modeling 但无法从中获得太多信息。
编辑:我想避免获取太多项目并手动执行匹配。我需要快速有效的解决方案。
答案 0 :(得分:1)
您正在尝试使用显式非关系数据存储区进行关系数据库查询。
正如您可能想象的那样,这会带来问题。如果您希望数据存储区为您排序结果,则必须能够索引您想要排序的内容。索引不能跨越多个实体类型,因此您无法拥有Photo
排序的PhotoRatings
索引。
对不起。
Photo
实体的一部分存储可能不会像您担心的那样大。