有没有人对组织基于sqlalchemy的项目有任何见解?我有很多表和类与外键和关系。在分离类,表和映射器方面,每个人都在做什么?我对这个框架比较陌生,所以任何帮助都会受到赞赏。
示例:
classA.py # table definition and class A definition
classB.py # table definition and class B definition
### model.py
import classA,classB
map(classA.classA,clasSA.table)
map(classB.classB,clasSB.table)
在classA中包含映射器,而classB可以工作,但在构建关系时会产生交叉导入问题。也许我错过了一些东西:)
答案 0 :(得分:2)
看看Pylons项目,包括SA设置。
meta.py 包含引擎和元数据对象
模型包中包含了必要的类(不需要映射器)。在该包中,通过重新分配到模块来构建您的类。
也许一个很好的例子是reddit源代码:)
答案 1 :(得分:1)
SQLAlchemy设计中有两个功能可以在定义关系时避免交叉导入:
backref
relation()
参数允许您定义后向关系。有关详细信息,请参阅教程中的this chapter。