Отношения один-ко-многим в хранилище данных и разыменование в Google App Engine - PullRequest
4 голосов
/ 28 января 2009

У меня есть отношение один ко многим между двумя объектами: первый - спутник, а второй - канал. Форма спутника возвращает имя спутника, которое я хочу отобразить на другой HTML-странице, с данными канала, где можно сказать, что этот канал связан с этим спутником.

Как я могу это сделать?

1 Ответ

6 голосов
/ 29 января 2009

Звучит как хороший пример использования ReferenceProperty, который является частью API хранилища данных App Engine. Вот идея, с которой можно начать:

class Satellite(db.Model):
  name = db.StringProperty()

class Channel(db.Model):
  satellite = db.ReferenceProperty(Satellite, collection_name='channels')
  freq = db.StringProperty()

С этим вы можете назначить каналы так:

my_sat = Satellite(name='SatCOM1')
my_sat.put()
Channel(satellite=my_sat,freq='28.1200Hz').put()
... #Add other channels ...

Затем прокрутить каналы для данного объекта Satellite:

for chan in my_sat.channels: 
  print 'Channel frequency: %s' % (chan.freq)

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...