gpt4 book ai didi

python - SQLite Date 类型仅接受 Python 日期对象作为输入

转载 作者:太空宇宙 更新时间:2023-11-03 15:06:33 30 4
gpt4 key购买 nike

我在使用 SQLAlchemy 时遇到问题

SQLite Date type only accepts Python date objects as input.[SQL: 'UPDATE records SET timestamp=?][parameters: [{'timestamp': (datetime.date(2017, 6, 15),)}]]

这是我的 Forms.py

class DataForm(FlaskForm):        
timestamp = DateField("date", validators=[Required()])

class ModifyDataForm(FlaskForm):
timestamp = DateField("date", validators=[Required()])

这是我的 Models.py

class Record(db.Model):
timestamp = db.Column(db.Date, default=date.today, index=True)

View .py

def create():
form = DataForm()
if form.validate_on_submit():
record = Record(timestamp=form.timestamp.data,)

def modify(id):
record = Record.query.get_or_404(id)
form = ModifyDataForm(record)
if form.validate_on_submit():
record.timestamp = form.timestamp.data,
form.timestamp.data = record.timestamp

模板我使用bootstrap的wtf.html

当我创建数据时,输入“2017-06-18”,没关系。
但是当我更新数据时,sqlalchemy 会引发:
>>>SQLite Date 类型仅接受 Python 日期对象作为输入。[SQL: 'UPDATE 记录 SET timestamp=?][参数: [{'timestamp': (datetime.date(2017, 6, 15),)}]]

我哪里错了? datetime.date不是Python日期对象吗?为什么第一次就成功了?我该如何解决它。

我的英语很差,如果有任何困惑,请再问我。

谢谢!

最佳答案

在我的views.py
功能修改。
我只是从 create 复制代码。然后,它有一个逗号结束该行。当我删除这个逗号时,一切正常!
因此,如果您遇到同样的问题,请检查您的代码!

关于python - SQLite Date 类型仅接受 Python 日期对象作为输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44607244/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com