code: def expand(self, model=None, ignoreFilter=False):
          
          queries = []
          current_records = None
  
          for query in self.__queries:
              sub_q = query.expand(model)
              if not sub_q:
                  continue
  
              # chain together joins into sub-queries
              if ((isinstance(sub_q, orb.Query) and isinstance(sub_q.value(), orb.Query)) and
                   sub_q.value().model(model) != sub_q.model(model)):
                  sub_model = sub_q.value().model(model)
                  sub_col = sub_q.value().column()
                  new_records = sub_model.select(columns=[sub_col])
  
                  sub_q = sub_q.copy()
                  sub_q.setOp(sub_q.Op.IsIn)
                  sub_q.setValue(new_records)
  
                  if current_records is not None and current_records.model() == sub_q.model(model):
                      new_records = new_records.refine(createNew=False, where=sub_q)
                  else:
                      queries.append(sub_q)
  
                  current_records = new_records
  
              # update the existing recordset in the chain
              elif (current_records is not None and
                   (
                      (isinstance(sub_q, orb.Query) and current_records.model() == query.model(model)) or
                      (isinstance(sub_q, orb.QueryCompound) and current_records.model() in sub_q.models(model))
                   )):
                  current_records.refine(createNew=False, where=sub_q)
  
              # clear out the chain and move on to the next query set
              else:
                  current_records = None
                  queries.append(query)
  
          return QueryCompound(*queries, op=self.op())
docs: Expands any shortcuts that were created for this query.  Shortcuts
          provide the user access to joined methods using the '.' accessor to
          access individual columns for referenced tables.
  
          :param      model | <orb.Model>
  
          :usage      |>>> from orb import Query as Q
                      |>>> # lookup the 'username' of foreign key 'user'
                      |>>> Q('user.username') == 'bob.smith'
  
          :return     <orb.Query> || <orb.QueryCompound>