/** modifies SelectQuery to order result set 
     \param f field to order by
     \param asc ascending order 
     \return *this, methods can be chained */
 DataSource& orderBy(FieldType f, bool asc=true) {
     sel.orderBy(f.fullName(), asc);
     return *this;
 }
 /** modifies SelectQuery to order result set by external table
     \param id foreign key field used to join table with query
     \param f field to order by
     \param asc ascending order 
     \return *this, methods can be chained */
 DataSource& orderByRelation(FieldType id, FieldType f, bool asc=true) {
     sel.source(id.table());
     sel.where(id == T::Id);
     sel.orderBy(f.fullName(), asc);
     return *this;
 }