I'd like to have access to one my model field verbose_name.
I can get it by the field indice like this
model._meta._fields()[2].verbose_name
but I need to get it dynamically. Ideally it would be something like this
model._meta._fields()['location_x'].verbose_name
I've looked at a few things but I just can't find it.
For Django < 1.10:
If you want to iterate on all the fields you need to get the
field
:For Django 1.11 and 2.0:
More info in the Django doc
model._meta.get_field('location_x').verbose_name
The selected answer gives a proxy object which might look as below.
If anyone is seeing the same, you can find the string for the verbose name in the title() member function of the proxy object.
A better way to write this would be:
where
header
will be the name of the field you are interested in. i.e., 'location-x' in OPs context.NOTE: Developers of Django also feel that using
get_field
is better and thus have depreciatedget_field_by_name
in Django 1.10. Thus I would suggest usingget_field
no matter what version of Django you use.