栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在金字塔中将models.py拆分为不同模型的不同文件?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在金字塔中将models.py拆分为不同模型的不同文件?

myapp    __init__.py    scripts        __init__.py        initialize_db.py    models        __init__.py        meta.py        foo.py        moo.py

现在

meta.py
可以包含共享
base
以及
DBSession

base = declarative_base()DBSession = scoped_session(sessionmaker(extension=ZopeTransactionExtension))

每个

foo.py
moo.py
可以导入从他们共同的基础
meta.py

from .meta import baseclass Foo(base):    pass

为了确保从

models
子包中拾取所有表,并且为了方便起见,可以将它们导入
models/__init__.py

from .meta import DBSessionfrom .foo import Foofrom .moo import Moo

如果不执行此类操作,则不同的表将不会附加到

base
,因此在
create_all
调用时将不会创建。

initialize_db
然后,您的脚本可以通过创建所有表

from myapp.models.meta import basebase.metadata.create_all(bind=engine)

您的视图可以导入模型以获利:

from myapp.models import DBSessionfrom myapp.models import Foo


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/623762.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号