Я новичок во Flask и пытаюсь добавить пользователя в свою базу данных. Все работало нормально, но (может быть, может быть, нет), когда я обновил свою базу данных, я теперь получаю следующее сообщение об ошибке
sqlalchemy.exc.InvalidRequestError: This Session's transaction has been rolled back due to a
previous exception during flush. To begin a new transaction with this Session, first issue
Session.rollback(). Original exception was: (sqlite3.OperationalError) no such table: users
Кто-нибудь знает, что я могу сделать здесь?
вот мойmodels.py:
from server import db
from sqlalchemy.dialects.postgresql import JSON
from datetime import datetime
class User(db.Model):
__tablename__ = 'users'
__table_args__ = {'extend_existing': True}
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(64), unique=True, index=True)
email = db.Column(db.String(64), unique=True, index=True)
Мой server.py
from flask import Flask, request, abort, jsonify, redirect, url_for, flash, render_template,
session, g
from flask_sqlalchemy import SQLAlchemy
import os
#from models import db
app = Flask(__name__)
#app.config.from_object(os.environ['APP_SETTINGS'])
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db = SQLAlchemy(app)
@app.route("/")
def hello():
return "Welcome!!!"
Мой manage.py
import os
from flask_script import Manager
from flask_migrate import Migrate, MigrateCommand
from server import app, db
#app.config.from_object(os.environ['APP_SETTINGS'])
migrate = Migrate(app, db)
manager = Manager(app)
manager.add_command('db', MigrateCommand)
if __name__ == '__main__':
manager.run()
У меня есть файл config.py сверху, но яне думаю, что это уместно здесь.
Так, например, когда я набираю 'python manage.py shell' в моем терминале, и я делаю что-то вроде
from models import User, db
db.create_all()
user_susan = User(username='susan', email='susan@hotmail.com')
db.session.add(user_susan)
db.session()
Вот тогда появляется сообщение об ошибке,чего раньше не было ... любая помощь будет принята с благодарностью.