【发布时间】:2020-07-18 01:43:35
【问题描述】:
我目前正在制作一个 Flask 应用程序,我正在尝试通过 Postman 将输入添加到我的数据库中。
这是我的models.py:
from datetime import datetime
class PracticeRecord(db.Model):
__tablename__ = "practice_record"
id = db.Column(db.Integer, primary_key=True)
description = db.Column(db.String(100))
date = db.Column(db.DateTime, default=datetime.now)
minutes = db.Column(db.Integer)
created = db.Column(db.DateTime, default=datetime.now)
updated = db.Column(db.DateTime, default=datetime.now)
#userID
这是我的 routes.py:
from .import db
from .models import PracticeRecord
main = Blueprint('main', __name__)
@main.route('/add_practicerecord', methods=['POST'])
def add_practiceRecord():
practiceRecord_data = request.get_json()
new_practiceRecord = PracticeRecord(description=practiceRecord_data['description'],
date=practiceRecord_data['date'], minutes=practiceRecord_data['minutes'])
db.session.add(new_practiceRecord)
db.session.commit()
return 'Done', 201
当我在 Postman 中输入 JSON 数据时,我得到了 error。 它说 SQLite DateTime 类型只接受 Python 日期时间和日期对象作为输入。但不是:
"date": "2020-04-06T14:42:24.996181"
已经是那种格式了?我很困惑。
在这方面的任何帮助都会很棒。
【问题讨论】:
-
这是一个字符串,而不是
datetime或date对象。 -
我有些怀疑。这些概念称为序列化和反序列化。我也在学习。我想你也应该这样做。
-
@Barmar 我尝试删除引号,但最终无法解码 JSON 对象。
-
解码JSON后需要将字符串转换为日期时间。
标签: python json sqlite datetime flask