code: func (q *Query) First() error {
  	err := q.model.Table().checkPKs()
  	if err != nil {
  		return err
  	}
  
  	b := appendColumns(nil, q.model.Table().Alias, q.model.Table().PKs)
  	return q.OrderExpr(internal.BytesToString(b)).Limit(1).Select()
  }
docs: // First sorts rows by primary key and selects the first row.
  // It is a shortcut for:
  //
  //    q.OrderExpr("id ASC").Limit(1)