5

supponiamo di avere questo codice:App Engine NDB: come accedere verbose_name di una proprietà

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

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

Ora, naturalmente, se stampo m.prop, il risultato sarà "un valore stringa", mentre in realtà si tratta di un Istanza StringProperty. Quindi non è possibile accedere a verbose_name nel modo "normale", ovvero m.prop._verbose_name.
Ho letto il codice e ho trovato un modo per accedervi: m._properties["prop"]._verbose_name, funziona, ma sembra hacky o_o.
Quindi dimmi, c'è un altro modo per farlo?
Nota: sto parlando dell'API NDB, non di quella precedente

+1

Non sembra molto intrusivo per me, se è effettivamente necessario ispezionare il nome durante l'uso piuttosto che la dichiarazione. – Amber

risposta

7

Utilizzare un attributo di classe: A.prop._verbose_name. O m.__class__.prop._verbose_name.

+0

m .__ classe __. Prop.verbose_name ha funzionato per me – matcheek

Problemi correlati