0
我想一個線性不等式添加到peewee select語句,peewee由彩車線性表達乘以整數字段 - 代替0和1之間的數字以0
r = r.where((tgt.attrs.NumberMissingOriginalIntrons <= 0.5 * tgt.attrs.NumberIntrons - 0.5))
凡r
是現有的查詢中添加到和tgt.attrs
是一個表。
然而,當這個被轉換爲SQL,它看起來像這樣:
WHERE ("t1"."NumberMissingOriginalIntrons" <= ((? * "t1"."NumberIntrons") - ?)) [0, 0]
但我其實想表達的是:
WHERE ("t1"."NumberMissingOriginalIntrons" <= ((? * "t1"."NumberIntrons") - ?)) [0.5, 0.5]
基於一些測試,我已經意識到這隻有當值在0和1之間時纔會失敗。爲什麼?這是否與列定義爲Integer
有關?