首页 > 解决方案 > 具有多个关系和文件的 sqlAlchemy

问题描述

大家好,

我们目前正在 Web 服务上使用 SQLAclchemy 和 Flask。作为这项工作的一部分,我们在文件 A.py 中有一个 A 类:

from common import db

class A(db.Model):
    ...
    b = relationship('B')
    c = relationship('C')
    ...

B 和 C 位于两个不同的文件(b.py 和 c.py)中。我们创建的当前 eanpoint 只需要 A 和 B 类,但我们被迫包含 C:

from common.a import A
from common.b import B
from common.c import C

class NewResource(Resource):
    def get(self):
        # do something with A and A.b

如果我删除 CI 的导入:

sqlalchemy.exc.InvalidRequestError:一个或多个映射器无法初始化 - 无法继续初始化其他映射器。触发映射器:'Mapper|A|c'。最初的例外是:初始化映射器 Mapper|A|c 时,表达式“C”未能找到名称(“名称 'C' 未定义”)。如果这是一个类名,请考虑在定义了两个依赖类之后将此 relationship() 添加到该类中。

我们也在研究完全分离班级的整个想法。

谢谢您的帮助。

标签: python-3.xsqlalchemyflask-sqlalchemy

解决方案


推荐阅读