Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何修复';sqlalchemy.exc.IntegrityError:';?_Python_Sqlite_Flask_Model_Sqlalchemy - Fatal编程技术网

Python 如何修复';sqlalchemy.exc.IntegrityError:';?

Python 如何修复';sqlalchemy.exc.IntegrityError:';?,python,sqlite,flask,model,sqlalchemy,Python,Sqlite,Flask,Model,Sqlalchemy,当我提交到数据库时,我得到一个IntegrityError。我正在尝试提交开始时间和结束时间字段中的时间,如:%H:%M:%S,如HTML表单所提示。start\u time=db.Column(db.DateTime,nullable=True)字段是否不正确 回溯 完整性反射镜 sqlalchemy.exc.IntegrityError:(sqlite3.IntegrityError)不为NULL 约束失败:drivers.start_time[SQL:插入到驱动程序中(名称, 开始时间、结

当我提交到数据库时,我得到一个IntegrityError。我正在尝试提交
开始时间
结束时间
字段中的时间,如:
%H:%M:%S
,如HTML表单所提示。
start\u time=db.Column(db.DateTime,nullable=True)
字段是否不正确

回溯

完整性反射镜

sqlalchemy.exc.IntegrityError:(sqlite3.IntegrityError)不为NULL 约束失败:drivers.start_time[SQL:插入到驱动程序中(名称, 开始时间、结束时间)值(?,?)][参数:('Bob',无, 无)]

型号.py

from.extensions导入数据库
从日期时间导入日期时间
类驱动程序(db.Model):
id=db.Column(db.Integer,主键=True)
name=db.Column(db.String(500))
start_time=db.Column(db.DateTime,nullable=True)
end_time=db.Column(db.DateTime,nullable=True)
miles=db.Column(db.Integer,主键=True)
定义初始(自我,**kwargs):
超级()
def calc_驱动程序(自身):
FMT='%H:%M:%S'
总时间=datetime.strftime(开始时间,FMT)-datetime.strftime(结束时间,FTM)
距离=总时间*英里
返回距离

在错误中,它表示您违反了NOTNULL约束,但在
驱动程序
模型中,查询中的所有字段(名称、开始时间、结束时间)都可以为空。在数据库中创建表之后,您是否修改了Drivers类中这些字段的定义?我相信我在数据库中创建表之后修改了这些字段。我应该删除数据库并重做表吗?感谢您的回复。是的,如果您有能力删除数据库并重新创建它,这是最简单的修复方法。如果您有需要保留的数据,则需要手动或使用架构迁移工具就地修改列。看见