Google app engine 如何在Google App Engine(Python)NDB/数据存储中从子实体查询父实体?
我的问题是非常基本的,我想知道从应用程序引擎Python中的子对象直接访问父实体属性值的正确方法。例如,我有以下模型模式。我正在使用Python2.7和NDBGoogle app engine 如何在Google App Engine(Python)NDB/数据存储中从子实体查询父实体?,google-app-engine,google-cloud-datastore,python-2.7,app-engine-ndb,Google App Engine,Google Cloud Datastore,Python 2.7,App Engine Ndb,我的问题是非常基本的,我想知道从应用程序引擎Python中的子对象直接访问父实体属性值的正确方法。例如,我有以下模型模式。我正在使用Python2.7和NDB class Gallery(ndb.Model): category = ndb.StringProperty() title = ndb.StringProperty() subtitle = ndb.StringProperty() class Image(ndb.Model):
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()
这里的“画廊”是“图像”的父级。它们形成一个实体组展览=>画廊=>图像。
我想显示图像模型中的图像以及它们所属的图库细节。我可以从父实体(图库中的图像)访问子实体,但不能从父实体访问子实体。我不想使用图像模型作为库模型中的StructuredProperty。大多数情况下,我都是基于gallery以外的其他标志显示所有图像中的图像(其中一种情况是,如果是_slider=“yes”,则会从所有图像生成幻灯片。因此,直接从图像中查询),但仍然希望显示相关gallery的信息,这就是我想知道如何访问父数据的原因
我觉得这是一个非常普遍的问题,需要寻找一个简单的解决方案,比如直接访问父级,而不是返回到实体组和查询库模型的顶部,使用一些复杂的逻辑。感谢您的帮助。使用:
image\u instance.key.parent().get()
谢谢Mjibson。这正是我所缺少的。如何在模板循环中使用它(当循环在图像实例上时)?我使用的是Jinja2。如果你有问题,问一个问题,不要发表评论。