一、使用peewee查询时,碰见报错ValueError: invalid literal for int() with base 10: ''
- 问题原因:
where
条件内至少有一个参数是 空值 导致的 - 解决方式:查询之前,确保参数的非空
二、使用list
类型的值做peewee查询条件,得到的结果的无序性
- 场景:
sorted_ids = [1, 2, 3, 4 ....] res_list = Model.select().where(Model.id.in_(sorted_ids)) # res的顺序与sorted_ids并非一一对应
- 问题原因:SQL不能保证按照
in
条件的顺序来 - 解决方式:peewee查询出来后,再在code层面加上对顺序的操作