Задать вопрос
@Dinxor

Как избавиться от ошибки при использовании двух баз данных в Flask-SqlAlchemy?

Есть приложение на Python, использующее flask-SqlAlchemy 1.4. В нём подключены две базы данных, таблицы которых ссылаются на справочник из первой базы:
class Colors(db.Model):
    __bind_key__ = 'first'
    id = db.Column(db.Integer, primary_key=True)
    color = db.Column(db.String(6))

class Materials(db.Model):
    __bind_key__ = 'first'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(20))
    color = db.Column(db.Integer, db.ForeignKey('colors.id'))
    colors = db.relationship(
        'Colors', backref=db.backref('materials', lazy='dynamic')
    )

class Elements(db.Model):
    __bind_key__ = 'second'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(20))
    color = db.Column(db.Integer, db.ForeignKey('colors.id'))
    colors = db.relationship(
        'Colors', backref=db.backref('elements', lazy='dynamic')
    )

При попытке перехода на flask-SqlAlchemy 2.2 приложение запустилось, но после первого запроса выдало ошибку по ForeignKey на справочник из второй базы. Что вроде бы логично: во второй базе этого справочника нет, но в старой версии всё работало? Сходу не нашёл объяснения этого феномена. Объясните пожалуйста, в чём тут причина и как это грамотно обойти?
  • Вопрос задан
  • 20 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы