【peewee】Python使用peewee时where中不同类型比较的问题
2024-10-22 08:44:10
问题
以学生表为例,TableStudents表中age字段是TextField类型,想要筛选出18岁以上的学生
TableStudents.select().where(TableStudents.age > 18)
(问题1)会因为TableStudents.age与18类型不同无法得到正确的结果
查阅SQLite文档发现abs()方法可以从TextField得到对应的数再进行比较
SELECT * FROM TableStudents WHERE abs(age) > 18
于是在代码中加上abs
TableStudents.select().where(abs(TableStudents.age) > 18)
(问题2)运行后报错:
TypeError: bad operand type for abs(): 'TextField'
原因是abs()默认是Python自带的方法,不支持这样的转换
解决
正确调用peewee的abs方法
from peewee import fn
TableStudents.select().where(fn.abs(TableStudents.age) > 18)
解决问题
最新文章
- Java Web利用POI导出Excel简单例子
- 15 day 1代碼
- cocos2d-x 游戏暂停界面,监听home键,返回键,Menu键 解决方案
- (转)Docker常用命令
- JAVA遍历一个文件夹中的所有文件
- CODEVS 3657 括号序列
- android关于window
- yii配置
- OCP读书笔记(14) - 管理数据库性能
- [Q]将图纸转换为JPG、PNG、plt、DWF、DWFx,XPS等格式文件
- 前端学习:html基础学习一
- 面向面试编程代码片段之GC
- 什么是V模型?使用SDLC和STLC学习案例研究
- html json 导出Excel
- SharePoint 会话(Session)状态和状态服务
- 远程桌面控制项目开发(Spring+Netty+Swing)
- javascript基础知识梳理-Number与String之间的互相转换【转】
- 【LNMP】 fileinfo扩展安装
- 5.8 Components — Composing Components(组合组件)
- 你知道吗, CoreGraphics绘图系统和Bezier贝塞尔曲线坐标系的顺时针方向是相反的!
热门文章
- pj_0004_time_swap
- 【Java学习Day10】类型转换
- 批量修改excel中超链接
- 解决habbybase 操作hbase报错TTransportException(type=4,message=’TSocket read 0 bytes)
- 集群分发xsync xcall kafka启动脚本命令,命令方式安装epel源
- Beginning IOS 7 Development Exploring the IOS SDK - Handling Basic Interface Fun
- ssh 登陆 Host key verification failed.
- VS Code:4个中文乱码问题及解决方法-转载
- Linux 常用监控指标总结
- nop调试-区域路由问题