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

yipeiwu_com6年前Python基础

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

相关文章

详解Python中的array数组模块相关使用

初始化 array实例化可以提供一个参数来描述允许那种数据类型,还可以有一个初始的数据序列存储在数组中。 import array import binascii s = 'Thi...

python实现月食效果实例代码

python实现月食效果实例代码

我们在学习Python当中的pygame模块时,我们都知道我们可以通过使用 pygame模块实现很多功能性的东西,但是很多人应该不知道怎么通过使用pygame实现月食的效果吧,接下来我就...

Python字符串处理实现单词反转

Python字符串处理学习中,有一道简单但很经典的题目,按照单词对字符串进行反转,并对原始空格进行保留: 如:‘ I love China! ‘ 转化为:‘ China! love...

利用Python操作消息队列RabbitMQ的方法教程

前言 RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统。他遵循Mozilla Public License开源协议。 MQ全称为Message Queue, 消息队列(...

使用Python中的greenlet包实现并发编程的入门教程

1   动机 greenlet 包是 Stackless 的副产品,其将微线程称为 “tasklet” 。tasklet运行在伪并发中,使用channel进行同步数据...