Python sqlalchemy.exc.IntegrityError:(sqlite3.IntegrityError)检查约束失败:车辆

Python sqlalchemy.exc.IntegrityError:(sqlite3.IntegrityError)检查约束失败:车辆,python,flask,sqlalchemy,Python,Flask,Sqlalchemy,当我尝试在sqlite数据库中插入数据时,标题中提到了这个错误。数据来自前端的表单 我定义了两个实体模型,一个人和一辆车。它们在类型一(人)与类型多(车辆)中相关。 我使用文件controllers.py上的这个模型在上面插入数据 ###文件models.py 从应用程序导入数据库 班级人员(db.Model): __tablename_uuu='person' id=db.Column(db.Integer,主键=True) username=db.Column(db.String(100),

当我尝试在sqlite数据库中插入数据时,标题中提到了这个错误。数据来自前端的表单

我定义了两个实体模型,一个人和一辆车。它们在类型一(人)与类型多(车辆)中相关。 我使用文件controllers.py上的这个模型在上面插入数据

###文件models.py
从应用程序导入数据库
班级人员(db.Model):
__tablename_uuu='person'
id=db.Column(db.Integer,主键=True)
username=db.Column(db.String(100),null=False,unique=True)
password=db.Column(db.String(255),null=False)
first_name=db.Column(db.String(100),nullable=False)
last_name=db.Column(db.String(100),nullable=False)
cpf=db.Column(db.String(16),nullable=False,unique=True)
email=db.Column(db.String(300),null=False,unique=True)
拥有=数据库关系(“车辆”)
定义初始化(自我、用户名、密码、名字、姓氏、cpf、电子邮件):
self.username=用户名
self.password=密码
self.first\u name=first\u name
self.last\u name=last\u name
self.cpf=cpf
self.email=电子邮件
@财产
def已通过身份验证(自身):
返回真值
@财产
def处于活动状态(sef):
返回真值
@财产
def是匿名的(sef):
返回错误
def get_id(自身):
返回str(self.id)
定义报告(自我):
返回“%self.username”
车辆类别(db.型号):
__tablename_uuu=‘车辆’
id=db.Column(db.Integer,主键=True)
person\u id=db.Column(db.Integer,db.ForeignKey('person.id'))
车牌=分贝列(分贝字符串(20))
crlv=db.Column(db.String(600))
crv=db.Column(db.String(600))
定义初始(自我、牌照、crlv、crv):
self.license\u plate=牌照
self.crlv=crlv
self.crv=crv
###文件控制器.py
###代码。。。
如果当前用户已通过身份验证:
person=person.query.filter\u by(id=current\u user.id).first()
新车(
车牌=form.license\u plate.data,
crlv=form.crlv.data,
crv=form.crv.data,
)
person.owns.append(新车)
数据库会话添加(新车)
db.session.commit()
flash(“恭喜!您的车辆已记录在我们的系统中!”)
返回重定向(url_用于(“索引”))
我想向某人添加新车辆,此人已存在于我的数据库中。这就是问题所在。当我尝试这样做时,我有以下错误:

sqlalchemy.exc.IntegrityError:(sqlite3.IntegrityError)检查约束失败:车辆 [SQL:在车辆中插入(个人id、车牌、crlv、crv)值(?,?,?)] [参数:(2,'4','3','4')]

数据来自前端


请,任何人都可以帮助我停止代码中的此错误?

我认为这可能是由于重复插入fk造成的?尝试使用干净的数据库插入,并阻止同一fk进入数据库两次。我认为这可能是由于重复的fk插入造成的?尝试使用clean数据库进行插入,并两次阻止同一fk进入DB。