Vì nhiều lý do, tôi đang cố gắng lấy một bộ sưu tập các đối tượng ra khỏi cơ sở dữ liệu và chuyển nó sang một tiến trình khác không được kết nối với cơ sở dữ liệu. Mã của tôi trông giống như bên dưới nhưng tôi tiếp tục nhận đượcSQLAlchemy, lấy đối tượng không bị ràng buộc vào một phiên
sqlalchemy.exc.UnboundExecutionError: Instance <MyClass at 0x8db7fec> is not bound to a Session; attribute refresh operation cannot proceed
Khi tôi cố gắng xem xét các yếu tố trong danh sách của tôi bên ngoài phương pháp get_list()
.
def get_list (obj):
sesson = Session()
lst = session.query(MyClass).all()
session.close()
return lst
Tuy nhiên, nếu tôi sử dụng này
def get_list_bis (obj)
session = Session()
return session.query(MyClass).all()
tôi có thể sử dụng các yếu tố nhưng lo lắng về tình trạng của phiên giao dịch kể từ khi nó không được đóng lại.
Tôi thiếu gì ở đây?
Nhưng ... nhưng ... "Phương thức close() đưa ra expunge_all() và giải phóng mọi tài nguyên giao dịch/kết nối." Tuyên bố này nằm trên trang bạn đã tham chiếu, quay lại ít nhất là phiên bản 0.6. – Oddthinking