'Updates the object with the given data (a dictionary mapping
field names to values).  Merges any extra keyword args into
data.'

def update_object(self, data={}, **kwargs):

    data = self.prepare_data_args(data, kwargs)
    for (field_name, value) in data.iteritems():
        setattr(self, field_name, value)
    self.do_validate()
    self.save()
