postgresql - “BinaryExpression”对象和“比较器”对象都没有属性“过滤器”
问题描述
我尝试使用“and_()”重叠日期,但出现错误:“BinaryExpression”对象和“比较器”对象都没有属性“过滤器”
dto = date(year=2021, month=4, day=15)
dfrom = date(year=2021, month=4, day=27)
schema = BookSchema(many=True)
bookings = db.session.query(BookData).filter(and_(func.date(BookData.date_from).between(dfrom, dto)).filter(and_(func.date(BookData.date_to).between(dfrom, dto)))).all()
感谢您的回答!
解决方案
请阅读有关如何and_
正确使用的文档。
您的查询应如下所示:
bookings = (
db.session
.query(BookData)
.filter(
and_(
func.date(BookData.date_from).between(dfrom, dto),
func.date(BookData.date_to).between(dfrom, dto),
)
)
.all()
)
事实上,鉴于过滤器可以多次应用于查询构造并且这样做意味着AND
无论如何,以下内容将完全相同:
bookings = (
db.session
.query(BookData)
.filter(func.date(BookData.date_from).between(dfrom, dto))
.filter(func.date(BookData.date_to).between(dfrom, dto))
.all()
)
推荐阅读
- android - 为 Android 构建 valgrind 失败并出现错误“ld:错误:无法找到库 -lgcc”
- r - 用扫帚拟合模型后如何保留原始列:增强
- next.js - 在选择反应中单击其他时如何显示输入字段
- reactjs - 在哪里调用 setInterval 反应
- postgresql - 使 docker run postgres 时遇到此错误
- linux - linux cp 使用时无法统计“没有这样的文件或目录”| 在亚行
- c - 结构指针可以包含在编译时已知大小的成员字符串加上函数可以更改以适应任何类型的结构使用 void 指针
- arrays - 从 txt 文件中读取重音字符时出现问题
- sharepoint - 如何只允许特定用户从共享点列表中添加/删除项目?
- discord.py - Discord py动漫人物数据库