Return the result's serializer only during use not during introspection.

Signed-off-by: Michael Price <loneviking72@gmail.com>
This commit is contained in:
Michael Price
2018-03-05 01:35:07 -04:00
committed by Roberto Rosario
parent f93521395c
commit d93fafcf57
2 changed files with 12 additions and 3 deletions

View File

@@ -47,7 +47,10 @@ class APISearchView(SearchModelMixin, generics.ListAPIView):
return queryset
def get_serializer(self, *args, **kwargs):
return None
if self.get_search_model_name():
return super(APISearchView, self).get_serializer(*args, **kwargs)
else:
return None
class APIAdvancedSearchView(SearchModelMixin, generics.ListAPIView):
@@ -93,7 +96,10 @@ class APIAdvancedSearchView(SearchModelMixin, generics.ListAPIView):
return queryset
def get_serializer(self, *args, **kwargs):
return None
if self.get_search_model_name():
return super(APISearchView, self).get_serializer(*args, **kwargs)
else:
return None
class APISearchModelList(generics.ListAPIView):

View File

@@ -7,8 +7,11 @@ from .classes import SearchModel
class SearchModelMixin(object):
def get_search_model_name(self):
return self.kwargs.get('search_model')
def get_search_model(self):
try:
return SearchModel.get(self.kwargs['search_model'])
return SearchModel.get(self.get_search_model_name())
except KeyError as exception:
raise Http404(force_text(exception))