0
在谷歌應用引擎上,我想知道是否有可能在ndb查詢中構建條件的方式如下所述。假設我有以下代碼:谷歌應用引擎:ndb查詢更清潔
if bidded == '':
productRanks = Product.query(Product.bidTime>=startDate,
Product.bidTime<endDate).fetch()
elif bidded == 'yes':
productRanks = Product.query(Product.bidTime>=startDate
Product.bidTime<endDate,
Product.bidded=='yes').fetch()
else:
productRanks = Product.query(Product.bidTime>=startDate
Product.bidTime<endDate,
Product.bidded=='no').fetch()
它看起來非常混亂。假設,我希望能夠做到以下幾點。可能嗎?如果是,如何?
condition = 'Product.bidTime>=startDate, Product.bidTime<endDate'
if bidded = 'yes':
condition = condition + ', Product.bidded=='yes'
elif bidded == 'no':
condition = condition + ', Product.bidded=='no'
productRanks = Product.query(condition).fetch()
謝謝。但另一個問題是:當我在不同的字段上執行過濾時,我收到錯誤消息_「每個查詢只支持一個不等式過濾器。遇到了兩個......」_ – 2013-03-12 09:43:22
That's correct。該錯誤消息反映了數據存儲的查詢功能的限制。您可能需要更改模型以在寫入時混合各種值,以使您想要的查詢成爲可能。 – 2013-03-12 09:49:36
它可能還會支付查看搜索API,並查看哪些查詢可能存在。 – 2013-03-12 09:51:45