On 06/30/2010 02:10 AM, [email protected] wrote:
I think you need to be careful messing with __dict__ as Django turns
most fields in descriptors behind the scenes so setting them in the
__dict__ could break these.
Yeah, that was somewhat my assumption (and thus my caveat).
Well, you could do something like
for name, value in dictionary_of_field_values.items():
setattr(obj, name, value)
I'd stick to setattr and maybe verify that the key in the dictionary
is one of the model's fields. I think there is a method on _meta
called get_all_field_names. I've used this before to validate such
actions.
If that's the case, you can tweak the above to something like
for name in obj._meta.get_all_field_names():
if name in dict_of_field_values:
setattr(obj, name, dict_of_field_values[name])
-tkc
--
You received this message because you are subscribed to the Google Groups "Django
users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/django-users?hl=en.