В Google App Engine, учитывая тип объекта, как вы можете получить класс для этого типа? - PullRequest
0 голосов
/ 28 января 2012

Я хотел бы иметь возможность получить класс из класса в версии Python для Google App Engine. Как получить класс со строкой, содержащей вид класса?

player_props = Player.properties()
country_props = Country.properties()

model_list = ['Player', 'Country']

for m in model_list:
  #foo = theClass
  props =  foo.properties()

Ответы [ 3 ]

2 голосов
/ 29 января 2012

Вы можете использовать функцию class_for_kind("Kind") в пакете google.appengine.ext.db. Классы вашей модели должны быть импортированы, чтобы это работало.

0 голосов
/ 28 января 2012

Пока вы знаете модуль, из которого были загружены классы, вы можете получить классы из модуля.

import models

model_list = ['Player', 'Country']
for m in model_list:
    klass = getattr(models,  m)
    props = klass.properties()
0 голосов
/ 28 января 2012

Хорошо, если вы импортировали классы моделей в свой модуль, вы можете использовать функцию globals() :

for m in model_list:
    klass = globals()[m]
    props = klass.properties()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...