问题描述
假设我有这样的代码: class A(ndb.Model):
prop = ndb.StringProperty (verbose_name =Something)
m = A()
m.prop =字符串值
现在当然如果我打印m.prop,它会输出一个字符串值,而实际上它是一个StringProperty实例。所以verbose_name不能以正常方式访问,即 m.prop._verbose_name
。
我读取了代码并找到了访问它: m._properties [prop] ._ verbose_name
,它的工作原理,但它看起来很诡异o_o。
所以告诉我,有没有另一种方法要做到这一点?
注意:我在谈论NDB API,而不是旧版本。
使用类属性: A.prop._verbose_name
。或 m .__ class __。prop._verbose_name
。
suppose I have this code:
class A(ndb.Model):
prop = ndb.StringProperty(verbose_name="Something")
m = A()
m.prop = "a string value"
Now of course if I print m.prop, it will output "a string value" while in fact it's a StringProperty instance. So verbose_name can't be accessed the "normal" way, i.e m.prop._verbose_name
.
I read the code and found a way to access it: m._properties["prop"]._verbose_name
, it works, but it looks hacky o_o.
So tell me, is there another way to do it?
Note: I'm talking about the NDB API, not the old one
Use a class attribute: A.prop._verbose_name
. Or m.__class__.prop._verbose_name
.
这篇关于App引擎NDB:如何访问属性的详细名称的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!