docs: async def update_object(obj, only=None):
      """Update object asynchronously.
  
      :param obj: object to update
      :param only: list or tuple of fields to updata, is `None` then all fields
          updated
  
      This function does the same as `Model.save()`_ for already saved object,
          but it doesn't invoke ``save()`` method on model class. That is
          important to know if you overrided save method for your model.
  
      .. _Model.save(): http://peewee.readthedocs.io/en/latest/peewee/
          api.html#Model.save
      """
      # Here are private calls involved:
      #
      # - obj._data
      # - obj._meta
      # - obj._prune_fields()
      # - obj._pk_expr()
      # - obj._dirty.clear()
      #
      warnings.warn("update_object() is deprecated, Manager.update() "
                    "should be used instead",
                    DeprecationWarning)
  
      field_dict = dict(obj.__data__)
      pk_field = obj._meta.primary_key
  
      if only:
          field_dict = obj._prune_fields(field_dict, only)
  
      if not isinstance(pk_field, peewee.CompositeKey):
          field_dict.pop(pk_field.name, None)
      else:
          field_dict = obj._prune_fields(field_dict, obj.dirty_fields)
      rows = await update(obj.update(**field_dict).where(obj._pk_expr()))
  
      obj._dirty.clear()
      return rows