Remove default table_query method
ModelSQL.table_query has a definition which returns None by default. This means that to test if the ModelSQL has a table_query or not, the method must be called.
Some table_query could be quite expensive to compute, so it could be expensive to call it just to test if it does not return None. Instead I think we could define ModelSQL.table_query = None by default and just test the attribute.