Python 使用flask sqlalchemy.exc.IntegrityError:(sqlite3.IntegrityError)唯一约束时出错

Python 使用flask sqlalchemy.exc.IntegrityError:(sqlite3.IntegrityError)唯一约束时出错,python,sqlalchemy,Python,Sqlalchemy,我对这个很陌生,我只是在试用烧瓶,我似乎无法用sqlalchemy解决这个问题 sqlalchemy.exc.IntegrityError: (sqlite3.IntegrityError) UNIQUE constraint failed: Login Info.username [SQL: 'INSERT INTO "Login Info" (username, password) VALUES (?, ?)'] [parameters: ('audyappy', 'secret')]

我对这个很陌生,我只是在试用烧瓶,我似乎无法用sqlalchemy解决这个问题

sqlalchemy.exc.IntegrityError: (sqlite3.IntegrityError) UNIQUE constraint 
failed: Login Info.username [SQL: 'INSERT INTO "Login Info" (username, 
password) VALUES (?, ?)'] [parameters: ('audyappy', 'secret')] (Background on 
this error at: http://sqlalche.me/e/gkpj)
从project.py:

@app.route('/register', methods=['GET',"POST"])
def register():
    if request.method == "POST":
        newUser = Login_Info(username=request.form['username'], password=request.form['password'])
        session.add(newUser)
        flash('You have registered successfully')
        session.commit()
        return redirect(url_for('login'))
    else:
        return render_template('register.html')
这来自数据库_setup.py:

class Login_Info(Base):
    __tablename__ = 'Login Info'
    id = Column(Integer, primary_key=True)
    username = Column(String, nullable=False, unique=True)
    password = Column(String, nullable=False)
完全回溯:

回溯(最近一次调用上次):文件 “C:\Users\audri\AppData\Roaming\Python37\site packages\flask\app.py”, 第2309行,在呼叫中 返回self.wsgi\u应用程序(环境,启动\u响应)文件“C:\Users\audri\AppData\Roaming\Python\Python37\site packages\flask\app.py”, wsgi_应用程序中的第2295行 response=self.handle\u异常(e)文件“C:\Users\audri\AppData\Roaming\Python\Python37\site packages\flask\app.py”, 第1741行,在句柄_异常中 重新播放(exc_类型,exc_值,tb)文件“C:\Users\audri\AppData\Roaming\Python\Python37\site packages\flask_compat.py”, 第35行,重新播放 提升值文件“C:\Users\audri\AppData\Roaming\Python\Python37\site packages\flask\app.py”, 第2292行,在wsgi_应用程序中 response=self.full\u dispatch\u request()文件“C:\Users\audri\AppData\Roaming\Python\Python37\site packages\flask\app.py”, 第1815行,完全发送请求 rv=self.handle\u user\u异常(e)文件“C:\Users\audri\AppData\Roaming\Python\Python37\site packages\flask\app.py”, 第1718行,在handle\u user\u异常中 重新播放(exc_类型,exc_值,tb)文件“C:\Users\audri\AppData\Roaming\Python\Python37\site packages\flask_compat.py”, 第35行,重新播放 提升值文件“C:\Users\audri\AppData\Roaming\Python\Python37\site packages\flask\app.py”, 第1813行,完全发送请求 rv=self.dispatch\u request()文件“C:\Users\audri\AppData\Roaming\Python\Python37\site packages\flask\app.py”, 第1799行,在调度请求中 返回self.view\u functionsrule.endpoint文件“D:\Audric\Work\firstcode\python\FCASIS\AC403(FLASK-SHARED)\deploy -“实验\项目.py”,第80行,在寄存器中 session.commit()文件“C:\Users\audri\AppData\Roaming\Python\Python37\site packages\sqlalchemy\orm\scoping.py”, 第153行,在do中 返回getattr(self.registry(),name)(*args,**kwargs)文件“C:\Users\audri\AppData\Roaming\Python\Python37\site packages\sqlalchemy\orm\session.py”, 第943行,在提交中 self.transaction.commit()文件“C:\Users\audri\AppData\Roaming\Python\Python37\site packages\sqlalchemy\orm\session.py”, 第467行,在提交中 self.\u prepare\u impl()文件“C:\Users\audri\AppData\Roaming\Python\Python37\site packages\sqlalchemy\orm\session.py”, 第447行,在_prepare _impl中 self.session.flush()文件“C:\Users\audri\AppData\Roaming\Python\Python37\site packages\sqlalchemy\orm\session.py”, 第2254行,齐平 self.\u flush(objects)文件“C:\Users\audri\AppData\Roaming\Python\Python37\site packages\sqlalchemy\orm\session.py”, 第2380行,内平齐 transaction.rollback(\u capture\u exception=True)文件“C:\Users\audri\AppData\Roaming\Python\Python37\site packages\sqlalchemy\util\langhelpers.py”, 第66行,在退出中 重新释放(exc_类型、exc_值、exc_tb)文件“C:\Users\audri\AppData\Roaming\Python\Python37\site packages\sqlalchemy\util\compat.py”, 第249行,重新播放 提升值文件“C:\Users\audri\AppData\Roaming\Python\Python37\site packages\sqlalchemy\orm\session.py”, 第2344行,内平齐 flush\u context.execute()文件“C:\Users\audri\AppData\Roaming\Python37\site packages\sqlalchemy\orm\unitofwork.py”, 第391行,执行中 rec.execute(self)文件“C:\Users\audri\AppData\Roaming\Python37\site packages\sqlalchemy\orm\unitofwork.py”, 执行中的第556行 uow文件“C:\Users\audri\AppData\Roaming\Python\Python37\site packages\sqlalchemy\orm\persistence.py”, 第181行,在save_obj中 映射器,表,插入)文件“C:\Users\audri\AppData\Roaming\Python37\site packages\sqlalchemy\orm\persistence.py”, 第866行,in _emit _insert _语句 执行(语句,参数)文件“C:\Users\audri\AppData\Roaming\Python37\site packages\sqlalchemy\engine\base.py”, 第948行,执行中 返回meth(self、multiparams、params)文件“C:\Users\audri\AppData\Roaming\Python\Python37\site packages\sqlalchemy\sql\elements.py”, 第269行,在连接上执行 返回连接。\u执行\u子句元素(self、multiparams、params)文件 “C:\Users\audri\AppData\Roaming\Python37\site packages\sqlalchemy\engine\base.py”, 第1060行,在_execute _clauseelement中 编译的sql、提取的参数文件“C:\Users\audri\AppData\Roaming\Python\Python37\site packages\sqlalchemy\engine\base.py”, 第1200行,在_执行_上下文中 上下文)文件“C:\Users\audri\AppData\Roaming\Python\Python37\site packages\sqlalchemy\engine\base.py”, 第1413行,在_handle_dbapi_异常中 exc_信息文件“C:\Users\audri\AppData\Roaming\Python\Python37\site packages\sqlalchemy\util\compat.py”, 第265行,从原因提升 重新释放(类型(异常)、异常、tb=exc\U tb、cause=cause)文件“C:\Users\audri\AppData\Roaming\Python\Python37\site packages\sqlalchemy\util\compat.py”, 第248行,重新播放 提升值。使用回溯(tb)文件“C:\Users\audri\AppData\Roaming\Python37\site packages\sqlalchemy\engine\base.py”, 第1193行,在_execute_上下文中 上下文)文件“C:\Users\audri\AppData\Roaming\Python\Python37\site packages\sqlalchemy\engine\default.py”, 第509行,在do_execute中 cursor.execute(语句、参数)sqlalchemy.exc.IntegrityError:(sqlite3.IntegrityError)唯一 约束失败:Login Info.username[SQL:'插入“Login Info” (用户名、密码)值(?,)][参数:('audyappy', “secret”)](此错误的背景信息位于:)


我似乎找不到这个问题,所以如果你能帮助我,那就太好了。谢谢

表wh的username列上有一个unicity约束