Hello,
I have Locality model with 'path' property to get path from 'root' of tree to current item, everything works ok, but I can't get result as Locality instance list.. When I use *'*object_session(self).query(Locality).from_statement(q).order_by(Locality.id)' I get sqlalchemy.exc.ArgumentError: from_statement accepts text(), select(), and union() objects only. How can I adopt results to Locality model? class Locality(Base): __tablename__ = 'localities' __table_args__ = {'schema': SYSTEM_SCHEMA} id = Column(Integer, primary_key=True) parent_id = Column(Integer, ForeignKey(SYSTEM_SCHEMA + '.localities.id')) name = Column(UnicodeText, nullable=False) type = Column(Integer, nullable=False) @property def path(self): def get_locality_path_q(locality_id): top_q = select([ Locality.id, Locality.parent_id, Locality.name, Locality.type, ]).\ where(Locality.id == locality_id).\ cte(recursive=True) parents = aliased(top_q) locality_alias = aliased(Locality) q = top_q.union_all( select([ locality_alias.id, locality_alias.parent_id, locality_alias.name, locality_alias.type ]).select_from(join(locality_alias, parents, locality_alias.id == parents.c.parent_id)) ) # return object_session(self).query(q).order_by(q.c.id) return object_session(self).query(Locality).from_statement(q).order_by(Locality.id) return get_locality_path_q(self.id) -- SQLAlchemy - The Python SQL Toolkit and Object Relational Mapper http://www.sqlalchemy.org/ To post example code, please provide an MCVE: Minimal, Complete, and Verifiable Example. See http://stackoverflow.com/help/mcve for a full description. --- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sqlalchemy+unsubscr...@googlegroups.com. To post to this group, send email to sqlalchemy@googlegroups.com. Visit this group at https://groups.google.com/group/sqlalchemy. To view this discussion on the web visit https://groups.google.com/d/msgid/sqlalchemy/78205703-4631-4c1a-aa13-f89fc6f06feb%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.