Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

App engine NDB: how to access verbose_name of a property

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

like image 658
Hai Phaikawl Avatar asked Jun 23 '12 02:06

Hai Phaikawl


1 Answers

Use a class attribute: A.prop._verbose_name. Or m.__class__.prop._verbose_name.

like image 166
Guido van Rossum Avatar answered Sep 28 '22 08:09

Guido van Rossum