使用Sqlalchemy时,会话\u作用域引发属性错误

2024-04-19 17:19:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从sqlalchemy会话文档实现session作用域,但由于某些原因,我遇到了attributeerror:exitat,session_scope作为session:

代码如下:

@contextmanager
def session_scope():
 """Provide a transactional scope around a series of operations."""
 session = Session()
 try:
     yield session
     session.commit()
 except:
     session.rollback()
     raise
 finally:
    session.close()



class SearchPhoneTable():
 def DateSearch(self,session,StartDate,EndDate):
    DateValue=[]
    OrderValue=[]
    SessionResult=session.query(VideoChange).filter(and_(VideoChange.Date <= EndDate, VideoChange.Date>=StartDate)).all()
    for elements in SessionResult:
        DateValue.append(elements.Date)
        OrderValue.append(elements.ViewsValue)
    return DateValue,OrderValue


def PDFOnline2(StartDate,EndDate):

 with session_scope as session:
  Xaxis,Yaxis=SearchPhoneTable().DateSearch(session,StartDate,EndDate)


 for elements in Yaxis:
    print(elements)

 for elements in Xaxis:
    print(elements)


 return 0

Tags: infordatesessiondefelementsscopestartdate