我們通過下面的文件結構,將models.py改成一個package.
代碼如下:
myapp
__init__.py
scripts
__init__.py
initialize_db.py
models
__init__.py
meta.py
foo.py
moo.py
上面的 meta.py, 在代碼中定義一個其它model文件共享Base和DBSession.
代碼如下:
Base = declarative_base()
DBSession = scoped_session(sessionmaker(extension=ZopeTransactionExtension))
foo.py和moo.py就是具體的model定義
foo.py 和moo.py 使用meta.py中定義的base
為了保證定義的model能夠在程序中被啟用,在models/__init__.py中引入它們:
代碼如下:
from .meta import DBSession
from .foo import Foo
from .moo import Moo
新聞熱點
疑難解答