2017-04-15 165 views
1

即時獲得此AttributeError: __enter__當我嘗試使用像這樣guide sqlalchemy會話。AttributeError:__enter__使用聲明SqlAlchemy會話

我的代碼:

Session = scoped_session(sessionmaker(autoflush=True, autocommit=False, bind=engine)) 

@contextmanager 
def session_scope(): 
    session = Session() 
    try: 
     yield session 
     session.commit() 
    except: 
     session.rollback() 
     raise 
    finally: 
     session.close() 

class SomeClass: 

    def __init__(self): 
     self.session_scope = session_scope 

    def something_with_session(self): 

     with self.session_scope as session: <-- error 

我在做什麼錯?我使用python 3.6

+1

您可以發佈完整的追溯,以顯示問題的所在範圍內? – tdelaney

回答

2

你必須調用該函數以獲取

with self.session_scope() as session: 
    ... 
+0

哦,我知道這將是一件很簡單的事情。也許是休息時間......謝謝你:D – w33zel