且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

App引擎NDB:如何访问属性的详细名称

更新时间:2023-11-29 16:14:04

使用类属性: 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.