code: def eagerload_includes(self, query, qs):
          
          for include in qs.include:
              joinload_object = None
  
              if '.' in include:
                  current_schema = self.resource.schema
                  for obj in include.split('.'):
                      try:
                          field = get_model_field(current_schema, obj)
                      except Exception as e:
                          raise InvalidInclude(str(e))
  
                      if joinload_object is None:
                          joinload_object = joinedload(field)
                      else:
                          joinload_object = joinload_object.joinedload(field)
  
                      related_schema_cls = get_related_schema(current_schema, obj)
  
                      if isinstance(related_schema_cls, SchemaABC):
                          related_schema_cls = related_schema_cls.__class__
                      else:
                          related_schema_cls = class_registry.get_class(related_schema_cls)
  
                      current_schema = related_schema_cls
              else:
                  try:
                      field = get_model_field(self.resource.schema, include)
                  except Exception as e:
                      raise InvalidInclude(str(e))
  
                  joinload_object = joinedload(field)
  
              query = query.options(joinload_object)
  
          return query
docs: Use eagerload feature of sqlalchemy to optimize data retrieval for include querystring parameter
  
          :param Query query: sqlalchemy queryset
          :param QueryStringManager qs: a querystring manager to retrieve information from url
          :return Query: the query with includes eagerloaded