一个有关python时间类的问题

一个有关python时间类的问题

我想在SQLite插入一条数据,里面包含一个datetime类型的数据。
table类如下:

python">class Task(db.Model):

id = db.Column(db.Integer, primary_key=True)

finish_time = db.Column(db.Datetime, nullable=True)

task_name = db.Column(db.String(20), nullable=False)

remarks = db.Column(db.String(30), nullable=True)

task_status = db.Column(db.Boolean, default=False)

插入字段前,想先处理下时间,用的是datetime模块下的time类

from datetime import time

def time_ex(hh, mm, ss):

time_task = time(hour=hh, minute=mm, second=ss, microsecond=123456).isoformat(timespec='minutes')

return time_task

插入数据时候:

    tasks = [

{'finish_time': time_ex(int('08'), int('00'), int('00')), 'task_name': 'task a', 'remarks': 'Dr.See',

'task_status': 'False'},

{'finish_time': time_ex(int('09'), int('00'), int('00')), 'task_name': 'task b', 'remarks': 'Dr.See',

'task_status': 'False'},

]

for t in tasks:

task = Task(finish_time=t['finish_time'], task_name=t['task_name'], remarks=t['remarks'],

task_status=t['task_status'])

db.session.add(task)

db.session.commit()

然后就开始报错了:

sqlalchemy.exc.StatementError: (builtins.TypeError) SQLite DateTime type only accepts Python datetime and date objects as input.

我试过将数据库中db.datetime改成db.time:

sqlalchemy.exc.StatementError: (builtins.TypeError) SQLite Time type only accepts Python time objects as input.

请问是哪里出了问题。。我对时间模块真的有点一筹莫展。。


我发现isoformat输出的是str类型,于是我去掉了,现在还是报错,我发现插入值变成了这个:

'finish_time': datetime.time(8, 0), 

大佬们帮帮忙。。新手在这里谢过。。


回答:

需要传入一个datetime或者date的地方,你传入一个time

以上是 一个有关python时间类的问题 的全部内容, 来源链接: utcz.com/a/159060.html

回到顶部