2016-08-19 82 views
1

過濾我讀http://www.django-rest-framework.org/api-guide/filtering/#filtering-against-the-urlDjango的restframework,對大於或等於2parameters

我views.py:

class QList(generics.ListAPIView): 
    serializer_class = PostSerializer 

    def get_queryset(self) : 
     lon = self.request.query_params.get('user_lon', '13') 
     lat = self.request.query_params.get('user_lat', '15') 

# --- other following codes deleted to read easily 

我的urls.py:

urlpatterns = [ 
     url('^QList/(?P<user_lon>.+)&(?P<user_lat>.+)/$', QList.as_view()), 
    ] 

我想用超過2類參數在類QList/def get_queryset。

喜歡使用http://127.0.0.1:8000/api/QList?user_lon=13&user_lat=15

,但我不知道如何使urls.py

我該如何治療2點以上的參數Django的REST框架?

回溯:

Request Method: GET 
Request URL: http://127.0.0.1:8000/api/QList?user_lon=13&user_lat=15 

Django Version: 1.8 
Python Version: 3.5.2 
Installed Applications: 
[#deleted otehrs 
'django.contrib.sites', 
'bolg', 
'rest_framework', 
] 
Installed Middleware: 
Traceback: 
# deleted others 
    16.  url('^QList/(?P<user_lon>.+)&(?P<user_lat>.+)/$', QList.as_view()), 

Exception Type: NameError at /api/QList 
Exception Value: name 'QList' is not defined 

回答

1

您不必編輯urls.py.

views.py

lon = self.request.GET.get('user_lon', '') 
lat = self.request.GET.get('user_lat', '') 

並添加GET方法的URL ?user_lon=13&user_lat=15結束。

相關問題