Механизм приложений NDB: как получить доступ к verbose_name свойства

Предположим, у меня есть этот код:

class A(ndb.Model):
    prop = ndb.StringProperty(verbose_name="Something")

m = A()
m.prop = "a string value"

Теперь, конечно, если я напечатаю m.prop, он выведет «строковое значение» в то время как на самом деле это экземпляр StringProperty. Таким образом, вербальное_имя не может быть доступно как «нормальное». кстати, т.е.m.prop._verbose_name.
Я прочитал код и нашел способ получить к нему доступ:m._properties["prop"]._verbose_name, это работает, но выглядит взволнованным o_o.
Так скажи мне, есть ли другой способ сделать это?
Примечание. Я говорю об API NDB, а не о старом.

 Amber23 июн. 2012 г., 04:18
Для меня это не выглядит слишком хакерским, если вам действительно нужно проверять имя во время использования, а не объявления.

Ответы на вопрос(1)

Используйте атрибут класса:A.prop._verbose_name, Или жеm.__class__.prop._verbose_name.

 27 июл. 2012 г., 21:14
m .__ class __. prop.verbose_name работал для меня

Ваш ответ на вопрос