This seems like it should be dead simple, so I must be missing something. I just want to set the value of a field in my model instance by name. Say I have:
c
We may have to see more code.
setattr(f, 'bar', 'BAR')
should work as this is how Django does it internally.
Make sure you are calling 'save', as well.
If you modify the value via setattr
, you need to remember to save the model after modifying it. I've been bitten in the past where I changed the values but forgot to save the model, and got the same result.
setattr(f, 'bar', 'BAR')
f.save()