一、使用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層面加上對順序的操作