Проблема
Я новичок в Flask и бэк-энде в целом, и у меня сейчас нет SQL ...
Я читал на Youtube руководство по созданию приложения flask и обнаружил ошибку, когда попытался добавить пользователя Ad Admin. Я попытался воссоздать приложение basi c и попытаться сузить проблему, создав только модель администратора и попытавшись добавить в нее данные, и он показывает мне ту же ошибку.
My APP
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SECRET_KEY'] = 'secret'
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///test.db'
db = SQLAlchemy(app)
class Admin(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(20), nullable=False)
password = db.Column(db.String(20), nullable=False)
def __repr__(self):
return f"Admin('{self.username}', '{self.password}')"
@app.route('/')
def hello_world():
admin = Admin(username='Justas', password='test')
db.session.add(admin)
db.session.commit() # Error at here
return 'Hello, World!'
if __name__ == '__main__':
app.run(debug=True)
Ошибка
это отображается в терминале, когда я пытаюсь запустить его python app.py
Traceback (most recent call last):
File "C:\Users\Sarunas\Desktop\test APP\my_app\env\Lib\site-packages\sqlalchemy\engine\base.py", line 1283, in _execute_context
self.dialect.do_execute(
File "C:\Users\Sarunas\Desktop\test APP\my_app\env\Lib\site-packages\sqlalchemy\engine\default.py", line 590, in do_execute
cursor.execute(statement, parameters)
sqlite3.IntegrityError: UNIQUE constraint failed: admin.username
The above exception was the direct cause of the following exception:
...
sqlalchemy.exc.IntegrityError: (sqlite3.IntegrityError) UNIQUE constraint failed: admin.username
[SQL: INSERT INTO admin (username, password) VALUES (?, ?)]
[parameters: ('Justas', 'test')]
(Background on this error at: http://sqlalche.me/e/gkpj)