You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用flask_sqlalchemy插入HTML表单日期到SQLite数据库问题求助

问题原因

代码中多次实例化数据库映射类导致生成多条记录:你对database类执行了3次实例化操作,每次仅传入单个字段的参数,随后分别将3个实例添加到了数据库会话中,每次添加操作都会对应生成1条新的数据库行,因此最终会插入3条仅单个字段有值的记录。

修正代码

将原POST请求处理逻辑中的实例化、添加代码替换为如下内容即可:

# 单次实例化,传入所有字段参数
record = database(user=name, startdate=startdate1, enddate=enddate1)
try:
    # 仅添加1次实例即可插入完整的1行数据
    db.session.add(record)
    db.session.commit()
    return redirect('/')
except:
    return 'There was an issue adding your task'

可选优化建议

如果后续需要对日期字段做范围查询、排序等操作,建议将模型中的日期字段类型从db.String(10)改为db.Date,插入时可以直接将表单拿到的日期字符串转成datetime类型存入,后续使用更灵活。

内容的提问来源于stack exchange,提问作者benisbestpokemongo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 20:57:04