'A ORM-specific implementation of ``obj_update``.'

def obj_update(self, bundle, skip_errors=False, **kwargs):

    bundle_detail_data = self.get_bundle_detail_data(bundle)
    arg_detail_data = kwargs.get(self._meta.detail_uri_name)
    if ((bundle_detail_data is None) or ((arg_detail_data is not None) and (str(bundle_detail_data) != str(arg_detail_data)))):
        try:
            lookup_kwargs = self.lookup_kwargs_with_identifiers(bundle, kwargs)
        except:
            lookup_kwargs = kwargs
        try:
            bundle.obj = self.obj_get(bundle=bundle, **lookup_kwargs)
        except ObjectDoesNotExist:
            raise NotFound(u'A    model    instance    matching    the    provided    arguments    could    not    be    found.')
    bundle = self.full_hydrate(bundle)
    return self.save(bundle, skip_errors=skip_errors)
