Многие ко многим в flask sqlalchemy NoReferencedTableError - PullRequest
0 голосов
/ 06 мая 2020

Я пытаюсь добавить отношения «многие ко многим» к существующей базе данных / схеме / таблице. У меня только одна база данных и несколько схем. Вот мой код

followers = db.Table('followers', db.Model.metadata,
    db.Column('follower_id', db.Integer, db.ForeignKey('avengers_user.users.id')),
    db.Column('followed_id', db.Integer, db.ForeignKey('avengers_user.users.id')),

)

class User(UserMixin, db.Model):
    __tablename__ = 'users'
    __bind_key__ = 'avengers'
    __table_args__ = {"schema": "avengers_user"}

    id = db.Column(db.Integer, autoincrement=True, primary_key=True, unique=True)
    username = db.Column(db.TEXT, nullable=False)
    followed = db.relationship(
        'User', secondary=followers,
        primaryjoin=(followers.c.follower_id == id),
        secondaryjoin=(followers.c.followed_id == id),
        backref=db.backref('avengers_user.followers', lazy='dynamic'), lazy='dynamic')

Когда я запускаю flask db migrate .. Я получаю сообщение об ошибке

sqlalchemy.exc.NoReferencedTableError: Foreign key associated
with column 'avengers_user.followers.followed_id' could not fi
nd table 'avengers_user.users' with which to generate a foreig
n key to target column 'id'

Таблица users существует (у меня в ней тысяча пользователей .. .)

Любая помощь приветствуется!

Я должен отметить, что я следую за учебником по миквелам .. https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-viii-followers

...