IN
過濾器限制爲30個項目。是否可以重寫該限制?還是有一個可行/推薦的解決方法?使用GAE的GQL IN過濾器有30多個項目?
1
A
回答
4
重寫該限制是不可能的。這是爲什麼。
當你做一個IN
查詢where x in [n1, n2, n3]
,實際發生的是,3個獨立的查詢被提交給數據存儲:然後
where x = n1
where x = n2
where x = n3
鍵生成的列表被合併到一起,刪除重複,給你最終的結果。
由於in
列表中的每個項目都會創建一個單獨的實際數據存儲區查詢,並且每個GQL查詢的實際數據存儲區查詢數有30個限制,所以列表中限制爲30個項目。
0
如上所述,您只能在查詢中獲得30個項目,因爲查詢是在30個並行的不同查詢中解釋的。解決方法是在下面的示例中提出30個項目的串行請求
offset = 0
item_count = len(keys)
result = []
while offset < item_count:
data = Entity.all().filter('key IN', keys[offset:30])
result.extend(data)
offset += 30
return result
相關問題
- 1. 在GQL過濾器中使用列表
- 2. 每個項目多個過濾器
- 3. 在使用GQL的GAE中使用GAE模板化
- 4. 用「getElementsByTagName」過濾多個列表項目?
- 5. 通過多個字段過濾項目
- 6. 過濾器方法擺脫過濾器後的所有項目
- 7. GAE應用程序和GQL
- 8. Java 8 - 使用多個過濾器的過濾器集合
- 9. scala mongodb IN過濾器使用
- 10. 在C#中使用Mongodb $ in過濾器
- 11. ISOTOPE過濾 - 需要隱藏所有過濾器中的項目
- 12. RadTDFilter過濾器RadTreeView項目
- 13. GAE GQL - 如果列表包含項目,則獲取實體
- 14. 使用JQ的多個過濾器
- 15. 使用多個Jcheckbox的JTable過濾器
- 16. CakePHP - 使用HABTM的多個過濾器
- 17. GQL:在多值屬性上不等於過濾器
- 18. Elasticsearch多項過濾器
- 19. 使用%in%過濾行?
- 20. AngularJS:在一環多解包項目中的一個過濾器
- 21. 商店濾波器(多個項目)
- 22. 多個過濾器選項控制
- 23. 如何使用複選框過濾多個列表項目?
- 24. 使用多個DropDownLists過濾對方,然後GridView項目 - ASP.net VB
- 25. logstash:使用多個已過濾的過濾器
- 26. 使用Jquery通過Dropdown過濾「項目」
- 27. 選擇多個列表框項目來設置過濾器
- 28. Twython:過濾多個曲目。
- 29. 用於過濾的多個選項linq
- 30. HTML表格過濾器不過濾多個過濾器