On 06/30/2010 02:10 AM, euan.godd...@googlemail.com 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 django-us...@googlegroups.com.
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.

Reply via email to