0
我需要創建一個連接到多個其他的API,以應用濾鏡Tastypie - 調用其他resoueres的調度手動
我所做的就是呼籲主要API的調度方法,調度方法的API(稱爲虛擬) 。我改變了請求QUERY_STRING爲每個被被稱爲
class DummyResource(MultipartResource, ModelResource):
class Meta:
queryset = Dummy.objects.all()
resource_name = 'dummy'
allowed_methods = ['get']
def dispatch(self, request_type, request, **kwargs):
#Call the 1st API
request.META['QUERY_STRING']='years_experience__in=2&production_2015__gt=105000'
obj=APIONEResource()
print 'Result'+str(obj.dispatch(request_type, request, **kwargs))
#Call the 2nd API
request.META['QUERY_STRING']='LOS__contains={2}&annual_production__in=4'
obj=APITWOResource()
print 'Result'+str(obj.dispatch(request_type, request, **kwargs))
return super(DummyResource, self).dispatch(request_type, request, **kwargs)
現在,當我打電話一號API一切工作正常,我也得到了正確的過濾結果的API。但是當我調用第二個API時,它會返回沒有任何過濾器的所有結果。我可以確認QUERY_STRING是否正確更改,並且無法理解爲什麼這不起作用。我嘗試了調用順序,結果是,第一次調用任何API時,應用了過濾器,但第二次不適用。
任何想法?