29 lines
811 B
Python
29 lines
811 B
Python
from rest_framework.views import APIView
|
|
from rest_framework.response import Response
|
|
|
|
|
|
class BaseView(APIView):
|
|
SERIALIZER = None
|
|
|
|
def _build_response(self, data):
|
|
model_serializer = self.SERIALIZER(data)
|
|
|
|
response = Response()
|
|
response.data = model_serializer.data
|
|
return response
|
|
|
|
def _build_multi_response(self, data):
|
|
serialized_data = []
|
|
for d in data:
|
|
serializer = self.SERIALIZER(d)
|
|
serialized_data.append(serializer.data)
|
|
|
|
response = Response()
|
|
response.data = serialized_data
|
|
return response
|
|
|
|
def error_response(self, status_code, description):
|
|
response = Response()
|
|
response.status_code = status_code
|
|
response.data = {"error": description}
|
|
return response
|