3

我正在使用 SQLAlchemy,我可以创建在 /model/__init__.py 中定义的表,但我已经在 /model 目录中的其他文件中定义了我的类、表及其映射。

例如,我有一个配置文件类和一个配置文件表,它们在 /model/profile.py 中定义和映射

要创建我运行的表:

贴图设置-app development.ini

但我的问题是我在 /model/__init__.py 中定义的表是正确创建的,但在 /model/profile.py 中找到的表定义没有创建。如何执行 /model/profile.py 中的表定义,以便创建所有表?

谢谢您的帮助!

4

3 回答 3

5

我在第一个真正的 Pylons 项目中遇到了同样的问题。对我有用的解决方案是:

  1. 在 profile.py 文件中定义表和类
  2. 在你__init__.py添加from profile import *之后def init_model
  3. 然后我添加了我所有的映射器定义。将它们全部保存在 init 文件中解决了我在不同文件中定义的表之间相关的一些问题。

此外,我已经使用声明性方法创建了项目,并且不需要在 init 文件中定义映射。

于 2009-10-06T21:55:48.153 回答
0

只需在init .py 中导入其他表的模块,然后在其他文件中使用 models.meta 中的元数据对象。Pylons 默认的 setup_app 函数在导入后从 model.meta 创建元数据对象中找到的所有表。

于 2009-09-27T07:53:32.890 回答
0

如果您使用声明式样式,请务必使用 Base.meta 生成表。

于 2009-09-28T06:41:27.020 回答