将request.GET._mutable = True
即可,在修改完毕后再改回False
.
class CustomerApiView(CustomModelViewSet):
queryset = Customer.objects.all()
serializer_class = serializers.CustomerSerializer
filter_backends = (filters.SearchFilter, filters.OrderingFilter,)
ordering = (‘starts‘,)
search_fields = (‘name‘, ‘phone‘)
versioning_class = QueryParameterVersioning
def list(self, request, *args, **kwargs):
print(request.version)
url_path = request.versioning_scheme.reverse(viewname=‘api_user‘, request=request)
print("url_path: ",url_path)
request.GET._mutable = True
a = request.query_params.pop("version")
request.GET._mutable = False
queryset = self.advancedSearch(request)
data = serializer = self.get_serializer(queryset, many=True).data
count_ = len(data)
return SuccessResponse(serializer,other=count_)
原文:https://www.cnblogs.com/li-gao-wang/p/14797532.html