[Sqlalchemy-tickets] Issue #3668: problem in execute query string with error lazy loading (zzzeek/s
Brought to you by:
zzzeek
From: Ramin F. C. <iss...@bi...> - 2016-03-06 08:56:43
|
New issue 3668: problem in execute query string with error lazy loading https://bitbucket.org/zzzeek/sqlalchemy/issues/3668/problem-in-execute-query-string-with-error Ramin Farajpour Cami: Hi, when use this query first i get valid result of query but again i refresh page site i get this error: ``` Parent instance is not bound to a Session; lazy load operation of attribute 'City' cannot proceed ``` this is a my query: ``` #!python SELECT p.ID AS 'persons_ID', p.FirstName AS 'persons_FirstName', p.LastName AS 'persons_LastName', p.NationalCode AS 'persons_NationalCode', p.CityID AS 'persons_CityID', p.Mobile AS 'persons_Mobile', p.Address AS 'persons_Address', cities_1.ID AS 'cities_1_ID', cities_1.Name AS 'cities_1_Name', cities_1.ParentID AS 'cities_1_ParentID', cities_2.ID AS 'cities_2_ID', cities_2.Name AS 'cities_2_Name', cities_2.ParentID AS 'cities_2_ParentID' , cast(@row := @row + 1 as unsigned) as 'persons_row_number' FROM Persons p LEFT OUTER JOIN cities AS cities_2 ON cities_2.ID = p.CityID LEFT OUTER JOIN cities AS cities_1 ON cities_1.ID = cities_2.ParentID , (select @row := 0) as init ``` execute query : ``` #!python lst = ses.query(Persons).options(joinedload('City')).from_statement(query).all() ``` model : ``` #!python class Persons(Base): __tablename__ = 'persons' ID = Column(Integer, primary_key=True) FirstName = Column(String(50)) LastName = Column(String(100)) NationalCode = Column(String(10)) CityID = Column(Integer, ForeignKey('cities.ID')) Mobile = Column(String(10)) Address = Column(String(10)) City = relationship("Cities",lazy="joined",join_depth=2, uselist=False) CitiesModel = Cities() ProvinceID = None HashID = None row_number = None ``` Responsible: zzzeek |