0
我想動態創建peewee中的where子句。我知道我需要使用表達式,但無法運行。這裏我的代碼:擴展peewee表達式拋出'表達式'對象不可迭代
clauses = [
(Docs.language_frst == 0),
(Docs.body_len <= max_body_len),
(Docs.body_len >= min_body_len)
]
if len(aValid_ids_used):
clauses.extend((Docs.id.not_in(aValid_ids_used)))
docids = Docs.select(Docs.id).where(reduce(operator.and_, clauses))
只要aValid_ids_used爲空,代碼就可以正常運行。一旦aValid_ids_used不再爲空,我要求擴展的子句出現錯誤:
Traceback (most recent call last): File "xyz.py", line 170, in <module>
clauses.extend((Docs.id.not_in(aValid_ids_used)))
TypeError: 'Expression' object is not iterable