'A version of update that accepts field objects instead of field names.
Used primarily for model saving and not intended for use by general
code (it requires too much poking around at model internals to be
useful at that level).'

def _update(self, values):

    assert self.query.can_filter(), 'Cannot    update    a    query    once    a    slice    has    been    taken.'
    query = self.query.clone(sql.UpdateQuery)
    query.add_update_fields(values)
    self._result_cache = None
    return query.get_compiler(self.db).execute_sql(None)
