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反转列表的三种方式解析

这篇文章主要介绍了python反转列表的三种方式解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1、内建函数reversed()...

Python用Try语句捕获异常的实例方法

Python用Try语句捕获异常的实例方法

python的异常,以及用try复合语句处理异常。 运行代码时有时会出现各种各样的错误,致使解析器中断执行,并提示xxxxxxErorr的提示,后面跟具体的错误的描述,这被称为是引发了异...

pandas实现将dataframe满足某一条件的值选出

在读取数据的时候发现,想把数据中第六列含问号的数据挑出来 import pandas as pd data = pd.read_table('breast-cancer-wisc...

python3学习之Splash的安装与实例教程

python3学习之Splash的安装与实例教程

前言 Splash是一个javascript渲染服务。它是一个带有HTTP API的轻量级Web浏览器,使用Twisted和QT5在Python 3中实现。QT反应器用于使服务完全异步,...

详解Python中is和==的区别

在Python中一切都是对象。 Python中对象包含的三个基本要素,分别是: id(身份标识) type(数据类型) value(值) 对象之间比较是否相等可以用 ==...