可以说我User
的user.py
模块中有这个。我将把它User
用作更大应用程序的一部分。我将Engine
在主应用程序模块中配置(数据库连接)。但...
如果User.foo
需要使用Engine
orSession
怎么办?例如,我在数据库中有一个函数,它需要一个用户 ID,我想在foo
. 为此,我需要使用Engine.execute
or Session.execute
; 但Engine
orSession
尚未创建。
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column, Integer, String
Base = declarative_base()
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(String)
fullname = Column(String)
password = Column(String)
def __init__(self, name, fullname, password):
self.name = name
self.fullname = fullname
self.password = password
def foo(self, bar):
"""I need an Engine or Session!"""
pass #....
def __repr__(self):
return "<User('%s','%s', '%s')>" % (self.name, self.fullname, self.password)