我使用带有 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 特定的问题,但我真的无话可说。
最佳答案
Flask-SQLAlchemy 中的日期时间列是 datetime
对象。您正在使用 time
模块进行解析。
尝试:
from_date = datetime.datetime.strptime(request.args['from_attendance'],'%m/%d/%Y')
关于python - 无法比较 Postgresql sqlalchemy.exc.ProgrammingError ProgrammingError : (ProgrammingError) can't adapt type 'time.struct_time' 中的日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22332406/