Может ли класс быть Expando и Polymodel в Google App Engine? - PullRequest
0 голосов
/ 26 июня 2009

Если я создаю класс PolyModel, например Person, могу ли я создать модель Expando под этой Polymodel? Например, класс Male (Person), который также был моделью Expando? Если да, то как?

Спасибо!

1 Ответ

4 голосов
/ 26 июня 2009

Цитата из Документация PolyModel :

PolyModel не поддерживает динамические свойства, как Expando. Для Expando нет эквивалента PolyModel.

Однако есть способы обойти это, используя низкоуровневые API хранилища данных. Они должны хорошо работать даже с классом PolyModel. Но код не будет очень хорошим, и я не рекомендую его. У меня нет времени собрать пример сейчас, но, может быть, я сделаю это завтра, если никто больше не сделает этого.

Пока вы можете взглянуть на класс PolyModel, который я написал до того, как Google выпустил свой собственный (и да, тот факт, что оба имеют одно и то же имя - чистое совпадение =), это может вдохновить вас на Ваша собственная Expando -поддерживаемая версия, если вам не хватает других решений. Вот он: Класс PolyModel и Пример PolyModel .

...