code: func (q *Query) Delete(values ...interface{}) (Result, error) {
  	if q.hasModel() {
  		table := q.model.Table()
  		if table.SoftDeleteField != nil {
  			q.model.setSoftDeleteField()
  			columns := q.columns
  			q.columns = nil
  			res, err := q.Column(table.SoftDeleteField.SQLName).Update(values...)
  			q.columns = columns
  			return res, err
  		}
  	}
  	return q.ForceDelete(values...)
  }
docs: // Delete deletes the model. When model has deleted_at column the row
  // is soft deleted instead.