In Django, I can do this:
test = Test.objects.get(id=1)
test.name
I want to be able to access the properties using dynamically generated st
You can use python's built in getattr() function:
getattr(test, 'name')
Other answers still stand, but now you can do this using Django's _meta.get_field().
test._meta.get_field('name')
Note that the Model _meta API has begun its official support and documentation as of 1.8, but has been distributed and used in prior versions before its official documentation.
In Python, you can normally access values within an object that has a dict method.
Let's say you have this class:
class Dog(object):
def __init___(self, color):
self.color = color
And then I instantiate it:
dog = Dog('brown')
So i can see the color by doing:
print dog.color
I can also see the color by doing:
print dog.__dict__['color']
I can set the color:
print dog.__dict__['color'] = 'green'
print dog.color
>>>green
Assuming name is an attribute on your instance test getattr(test, 'name')
should return the corresponding value. Or test.__dict__['name']
.
You can read more about getattr()
here: http://effbot.org/zone/python-getattr.htm