我有以下数据库结构,使用SQLAlchemy,使用Postgresql和Flask:

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特有的问题,但我真的很难用词。

最佳答案

Flask SQLAlchemy中的Datetime列是datetime对象。您正在使用time模块来解析。
尝试:

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

关于python - 无法在Postgresql sqlalchemy.exc.ProgrammingError中比较日期时间ProgrammingError:(ProgrammingError)无法适应类型'time.struct_time',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22332406/

10-12 21:05