The main Usage of a proxy model is to override the main functionality of existing Model. It is a type of model inheritance without creating a new table in Database. It always queries on original model with overridden methods or managers.
Django rest-framework passes extra context data to serializers for the best design of rest applications. we can use "context" parameter in serializers to pass extra context. In viewsets, generic view simply override or overload the method get_serializer_context.
By using routers in django-rest-framework we can avoid writing of url patterns for different views. Routers will save a lot of time for developing the API for larger projects. Routers generates standardized url patterns for better maintenance of url structure. We can expect consistent behaviour from viewsets and routers. We can also avoid repetitive code in views.
Django Rest Swagger is used to Document your API for eg., Listing all Your project Rest API's in the browser with brief description about the API. In Developing an application, we will write our required API's. To Document these API's we use Django Rest Swagger.
django-webpacker is a django compressor tool which bundles css, js files to a single css, js file with webpack and updates your html files with respective css, js file path with a single management command. It also supports django-storages to load compressed css, js files from AWS S3.