Я создал модель с именем User
в моем файле models.py, также я включил функцию отслеживания в моем приложении Flask, но затем, когда я добавляю таблицу последователей в мой файл models.py, то же самое не получается отражено или применено в моем файле site.db, где хранится база данных. Я получаю сообщение об ошибке sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such table: followers
Вот мой файл models.py
followers = db.Table('followers',
db.Column('follower_id', db.Integer, db.ForeignKey('user.id')),
db.Column('followed_id', db.Integer, db.ForeignKey('user.id'))
)
class User(UserMixin, db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(20), unique=True, nullable=False)
email = db.Column(db.String(120), unique=True, nullable=False)
image_file = db.Column(db.String(20), nullable=False, default='default.jpg')
password = db.Column(db.String(60), nullable=False)
posts = db.relationship('Post', backref='author', lazy=True)
followed = db.relationship(
'User', secondary=followers,
primaryjoin=(followers.c.follower_id == id),
secondaryjoin=(followers.c.followed_id == id),
backref=db.backref('followers', lazy='dynamic'), lazy='dynamic')
Я тоже использовал команды flask db -migrate
и flask db upgrade
, но затем эта ошибка все равно выдается.
Как применить эти изменения в моей базе данных?