モジュールにこれUser
があるとしましょう。これをより大きなアプリケーションの一部としてuser.py
使用します。メイン アプリケーション モジュールで (データベース接続)User
を構成します。Engine
しかし...
User.foo
またはを使用する必要がある場合はどうなりますEngine
かSession
? たとえば、データベースにユーザー 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)