Колба sqlalchemy.exc.InvalidRequestError: - PullRequest
       6

Колба sqlalchemy.exc.InvalidRequestError:

0 голосов
/ 08 октября 2019

Я новичок во 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()

Вот тогда появляется сообщение об ошибке,чего раньше не было ... любая помощь будет принята с благодарностью.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...