2016-11-08 4 views
1

Похоже, класс ndb.polymodel.PolyModel имел метод class_name(), но насколько я могу судить, он устарел.Определение класса объекта в ndb PolyModel Google App Engine

У меня есть структура данных, использующая полимодель, который представляет собой родительский класс пользователя с двумя дочерними классами - Employee и Manager, и я хочу сделать некоторые основные проверки во всем, чтобы определить, является ли объект User класса Employee или менеджер классов.

На данный момент я просто нахожу атрибут объекта .__class__.__name__, но мне интересно, почему метод PolyModel.class_name() был устаревшим. Есть ли лучший способ определить наследование класса?

+1

Is 'isinstance (user, Employee)'/'isinstance (user, Manager)' что вы ищете? (https://docs.python.org/2/library/functions.html#isinstance) –

+0

А, да, это работает. Спасибо. – yoonjesung

ответ

2

По отзывам выше, это выглядит так, как вам нужно, это isinstance(user, Employee)/isinstance(user, Manager).

Смежные вопросы