'This method will try to update the model. If the model was updated (in
the sense that an update query was done and a matching row was found
from the DB) the method will return True.'

def _do_update(self, base_qs, using, pk_val, values, update_fields, forced_update):

    filtered = base_qs.filter(pk=pk_val)
    if (not values):
        return ((update_fields is not None) or filtered.exists())
    if (self._meta.select_on_save and (not forced_update)):
        if filtered.exists():
            filtered._update(values)
            return True
        else:
            return False
    return (filtered._update(values) > 0)
