Pyramid将models.py文件的内容分布到多个文件的方法

652次阅读  |  发布于5年以前

我们通过下面的文件结构,将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

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8