我有一个非常基础的问题,我想知道在App Engine Python中从子实体访问父实体的属性值的直接且正确的方式。例如,我有以下模型架构。我正在使用Python 2.7和NDB。
class Gallery(ndb.Model):
category = ndb.StringProperty()
title = ndb.StringProperty()
subtitle = ndb.StringProperty()
class Image(ndb.Model):
blob_key = ndb.BlobKeyProperty()
title = ndb.StringProperty()
gallery = ndb.StringProperty()
is_slider = ndb.StringProperty()
在这里,“Gallery”是“Image”的父级。它们形成一个实体组合的展览=>画廊=>图像。 我想显示来自Image模型的图像,以及它们所属的画廊详细信息。我可以从父实体(Gallery中的Image)访问子实体,但反过来却不行。我不想在Gallery模型中使用Image模型作为StructuredProperty。大多数情况下,我基于其他标志而不是画廊(例如,如果is_slider =“yes”,则生成幻灯片演示文稿时直接从所有图像中查询Image),但仍然要显示相关画廊的信息,因此我想知道如何访问父数据。
我认为这是一个非常通用的问题,并寻求一个简单的解决方案,比如直接访问父级,而不是返回到实体组的顶部并使用一些复杂的逻辑查询Gallery模型。感谢任何帮助。