无法比较Postgresql中的datetime sqlalchemy.exc.ProgrammingError编程错误:( ProgrammingError)无法调整类型'time.struct_time'

时间:2014-03-11 17:39:53

标签: python postgresql sqlalchemy flask flask-sqlalchemy

我使用带有Flask的Postgresql的SQLAlchemy具有以下数据库结构:

class Attendance(db.Model):
  id = db.Column(db.Integer, primary_key=True)
  time = db.Column(db.DateTime(timezone=True))

当我从用户那里得到一个日期并尝试根据模型的日期进行查询时:

from_date = time.strptime(request.args['from_attendance'],'%m/%d/%Y')
to_date = time.strptime(request.args['to_attendance'],'%m/%d/%Y')
dates = Attendance.query.filter(Attendance.time < from_date,Attendance.time > to_date).all()

我收到以下错误:

sqlalchemy.exc.ProgrammingError
ProgrammingError: (ProgrammingError) can't adapt type 'time.struct_time' 'SELECT attendance.id     AS attendance_id, attendance.time AS attendance_time, attendance.status AS attendance_status,........

我相信这是一个特定于postgresql的问题,但我真的不知所措。

1 个答案:

答案 0 :(得分:3)

Flask-SQLAlchemy中的Datetime列是datetime个对象。您正在使用time模块进行解析。

尝试:

from_date = datetime.datetime.strptime(request.args['from_attendance'],'%m/%d/%Y')
相关问题