code: func (q *Query) Exists(model interface{}) (bool, error) {
  	tmpQuery := Q(q.Connection)
  	q.Clone(tmpQuery) //avoid meddling with original query
  
  	var res bool
  
  	err := tmpQuery.Connection.timeFunc("Exists", func() error {
  		tmpQuery.Paginator = nil
  		tmpQuery.orderClauses = clauses{}
  		tmpQuery.limitResults = 0
  		query, args := tmpQuery.ToSQL(&Model{Value: model})
  
  		// when query contains custom selected fields / executed using RawQuery,
  		// sql may already contains limit and offset
  		if rLimitOffset.MatchString(query) {
  			foundLimit := rLimitOffset.FindString(query)
  			query = query[0 : len(query)-len(foundLimit)]
  		} else if rLimit.MatchString(query) {
  			foundLimit := rLimit.FindString(query)
  			query = query[0 : len(query)-len(foundLimit)]
  		}
  
  		existsQuery := fmt.Sprintf("SELECT EXISTS (%s)", query)
  		log(logging.SQL, existsQuery, args...)
  		return q.Connection.Store.Get(&res, existsQuery, args...)
  	})
  	return res, err
  }
docs: // Exists returns true/false if a record exists in the database that matches
  // the query.
  //
  // 	q.Where("name = ?", "mark").Exists(&User{})