1
使用ndb.OR正確的方法是這樣的:如何在循環中使用ndb.OR?
q = News.query(ndb.OR(News.source == 'GRD', News.source == 'IND'))
導致一個或過濾器。
查詢(種類= '新聞',過濾器= OR(FilterNode( '源', '=', 'GRD'), FilterNode( '源', '=', 'IND')))
但我該如何做一個循環?
當我試試這個:
q = News.query()
for source in sources:
q = q.filter(ndb.OR(News.source == source))
它成爲一個與過濾器:
查詢(KIND = '新聞',過濾器= AND(FilterNode( '源', '=' 'GRD'), FilterNode( '源', '=', 'IND')))
謝謝,我想你的意思是'Q = News.query(ndb.OR(News.source.IN(源)))' – Houman
@Houman懷疑這一點,或者需要2個參數 –
@Houman'IN'是實際上是作爲一系列'OR'來實現的(請參閱上面的引用!)。 – tx802