【发布时间】:2021-11-26 23:48:47
【问题描述】:
我有以下数据库模型:
class Survey(db.Model):
id = db.Column(db.Integer, primary_key=True)
date_posted = db.Column(db.DateTime, nullable=False, default=datetime.utcnow)
question_ts = db.relationship('Questions')
class Questions(db.Model):
id = db.Column(db.Integer, primary_key=True)
survey_id = db.Column(db.Integer, db.ForeignKey('survey.id'), nullable=False)
date_posted = db.Column(db.DateTime, nullable=False, default=datetime.utcnow)
lan_code = db.Column(db.String(3), nullable=False)
q1 = db.Column(db.String(100), nullable=False)
q2 = db.Column(db.String(100), nullable=False)
q3 = db.Column(db.String(100), nullable=False)
当我插入 q1、q2、q3 时,它会因 NOT Null 约束失败而失败
sqlalchemy.exc.IntegrityError: (sqlite3.IntegrityError) NOT NULL 约束失败:questions.survey_id [SQL: INSERT INTO questions (survey_id, date_posted, lan_code, q1, q2, q3) VALUES (?, ?, ?, ?, ?, ?)] [参数:(无,'2021-10-06 19:36:08.192194','en','你好吗?','你接种疫苗了吗?','你的生日是什么时候?')]
如果我为调查手动分配 ID,它会完美运行。但是,有没有办法让数据库处理这个问题?
【问题讨论】:
标签: sqlite sqlalchemy flask-sqlalchemy