Ejemplo n.º 1
0
    def __find_entity(self, query, mapper, raiseerr):
        from sqlalchemy.orm.util import _class_to_mapper, _is_aliased_class

        if _is_aliased_class(mapper):
            searchfor = mapper
        else:
            searchfor = _class_to_mapper(mapper).base_mapper

        for ent in query._mapper_entities:
            if ent.path_entity is searchfor:
                return ent
        else:
            if raiseerr:
                raise sa_exc.ArgumentError("Can't find entity %s in Query.  Current list: %r" % (searchfor, [str(m.path_entity) for m in query._entities]))
            else:
                return None
Ejemplo n.º 2
0
    def __find_entity(self, query, mapper, raiseerr):
        from sqlalchemy.orm.util import _class_to_mapper, _is_aliased_class

        if _is_aliased_class(mapper):
            searchfor = mapper
        else:
            searchfor = _class_to_mapper(mapper).base_mapper

        for ent in query._mapper_entities:
            if ent.path_entity is searchfor:
                return ent
        else:
            if raiseerr:
                raise sa_exc.ArgumentError("Can't find entity %s in Query.  Current list: %r"
                    % (searchfor, [str(m.path_entity) for m in query._entities]))
            else:
                return None
Ejemplo n.º 3
0
    def __find_entity(self, query, mapper, raiseerr):
        from sqlalchemy.orm.util import _class_to_mapper, _is_aliased_class

        if _is_aliased_class(mapper):
            searchfor = mapper
            isa = False
        else:
            searchfor = _class_to_mapper(mapper)
            isa = True
            
        for ent in query._mapper_entities:
            if searchfor is ent.path_entity or (isa and searchfor.common_parent(ent.path_entity)):
                return ent
        else:
            if raiseerr:
                raise sa_exc.ArgumentError("Can't find entity %s in Query.  Current list: %r" 
                    % (searchfor, [str(m.path_entity) for m in query._entities]))
            else:
                return None
Ejemplo n.º 4
0
 def _find_entity( self, query, mapper, raiseerr):
     from sqlalchemy.orm.util import _class_to_mapper, \
         _is_aliased_class
     if _is_aliased_class(mapper):
         searchfor = mapper
         isa = False
     else:
         searchfor = _class_to_mapper(mapper)
         isa = True
     for ent in query._mapper_entities:
         if searchfor is ent.path_entity or isa \
             and searchfor.common_parent(ent.path_entity):
             return ent
     else:
         if raiseerr:
             raise sa_exc.ArgumentError("Can't find entity %s in "
                     "Query.  Current list: %r" % (searchfor,
                     [str(m.path_entity) for m in query._entities]))
         else:
             return None