0
我有一個情況我想基於這樣在傳遞的過濾器來修改資源的查詢集信息查詢集。修改TastyPie資源與過濾器
我想這是因爲某些過濾器需要昂貴的操作被添加到查詢集,並且我只想在用戶請求過濾器時執行它們。
該文檔(HERE)顯示如何使用get_object_list
(可訪問請求)修改查詢集。
我想要做的事,如:
類MyResource(ModelResource):
def get_object_list(self, request):
current_qs = super(MyResource, self).get_object_list(request)
current_filters = SOMEHOW_GET_FILTERS(request)
if 'name' in current_filters:
current_qs = current_qs.annotate(best_friend=RawSQL("COMPLICATED SQL QUERY"))
return current_qs
有什麼想法?如果我可以在不中斷請求/響應循環的其餘部分的情況下從get_object_list執行build_filters,那可能會解決我的問題。任何方向表示讚賞。