我使用带有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的问题,但我真的不知所措。
答案 0 :(得分:3)
Flask-SQLAlchemy中的Datetime列是datetime
个对象。您正在使用time
模块进行解析。
尝试:
from_date = datetime.datetime.strptime(request.args['from_attendance'],'%m/%d/%Y')