Как запросить родительский объект из дочернего объекта в Google App Engine (Python)NDB/Datastore?

Мой вопрос очень фундаментален, я хочу знать прямой и правильный способ доступа к значениям атрибутов родительского объекта из дочернего в 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()

Здесь «Галерея» является родителем «Изображения». Они образуют группу объектов Выставка=>Галерея=>Изображение. Я хочу отображать изображения из модели изображения вместе с деталями галереи, которым они принадлежат. Я могу получить доступ к дочернему объекту из родительского (изображения из галереи), но не наоборот. Я не хочу использовать модель изображения как StructuredProperty в модели галереи. Я показываю изображения большую часть времени из всех изображений на основе флагов, отличных от галереи. (одна ситуация создает слайд-шоу из всех изображений, если _slider="yes". поэтому запрашиваю изображение напрямую ), но все же хочу отображать информацию о связанной галерее, поэтому я хочу знать, как получить доступ к родительским данным.

Я считаю, что это очень общая проблема, и я ищу простое решение, такое как прямой доступ к родителю, вместо того, чтобы возвращаться к началу группы сущностей и запрашивать модель галереи с некоторой сложной логикой. Любая помощь приветствуется.

12
задан Tim 20 April 2015 в 19:56
поделиться