如何修复`sqlalchemy.exc.InvalidRequestError:一个或多个映射器初始化失败 - 无法继续初始化其他映射器`

问题描述 投票:0回答:1

我正在将 Python (Flask) 与 SQLAlchemy 和 Alembic 结合使用。

我做了一件愚蠢的事情,我不小心在两个模型中定义了一个同名的 backRef。

例如

question.py

    # Relationships
    question_option = db.relationship('QuestionOption', backref=db.backref('question', lazy=True))

question_options.py

   # Relationships
    question = db.relationship('Question', backref=db.backref('question_options', lazy=True))

我从其中一个模型中删除了重复的 backRef。这足以修复错误还是我需要创建新版本并升级头部?

python flask sqlalchemy alembic
1个回答
0
投票

更新:您只需从其中一个模型中删除重复的 backRef 即可。您不需要进行新的 Alembic 修订,因为这不是架构更改。我删除了 backref,它解决了问题。

© www.soinside.com 2019 - 2024. All rights reserved.