我正在構建一個django rest api作爲Android應用程序的後端。我正在android應用程序中實現一個搜索功能,它應該傳遞查詢字符串;可以是名字,姓氏,兩者或電子郵件,都可以在後端搜索用戶模型以查找任何匹配的實例,並將其返回到客戶端的回收站視圖中。如何返回具有相同名字或姓氏的所有用戶實例,如在url django rest中那樣?
我的網址是內置客戶端的方式是這樣的:
@GET("users/search/{name}")
Call<List<User>> searchUsers(@Path("name") String name);
此端點的urls.py看起來是這樣的服務器端:
url(r'^search/(?P<username>.+)/$', user_views.UserSearchListView.as_view(), name="user_search"),
其映射到是視圖網址如下:
class UserSearchListView(generics.ListAPIView):
queryset = User.objects.all()
serializer_class = UserSerializer
filter_backends = (filters.SearchFilter,)
search_fields = ('firstName', 'lastName', 'email')
當我測試與郵差API,不管我放在什麼字符串網址,所有的用戶返回,而不是隻有相關的。我如何解決這個問題,以便只返回具有匹配的名字,姓氏或電子郵件的用戶?