5

假设我有这样的代码:App Engine的NDB:如何访问属性的verbose_name

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

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

现在当然,如果我打印m.prop,它将输出“的字符串值”,而实际上它是一个StringProperty实例。所以verbose_name不能以“正常”方式访问,即m.prop._verbose_name
我读了代码,找到了一种方法来访问它:m._properties["prop"]._verbose_name,它的工作原理,但它看起来很诡异o_o。
那么告诉我,是否有另一种方法来做到这一点?
注意:我正在谈论NDB API,而不是旧版本

+1

对我来说,如果实际上在使用过程中需要检查名称而不是声明,那对我来说看起来并不是很冒险。 – Amber

回答

7

使用class属性:A.prop._verbose_name。或m.__class__.prop._verbose_name

+0

m .__ class __。prop.verbose_name为我工作 – matcheek

相关问题