Как создать класс Custom Response во фреймворке Django REST

Я использую django rest framework api в качестве бэкенда для своего проекта. Я решил создать пользовательский класс Response для проекта и собрал код, показанный ниже:

class CustomResponse(Response):
    def __init__(self, error=None, message=None, data=None, status_code=None, *args, **kwargs):
        self.error = '' if error is None else error
        self.message = {} if message is None else message
        self.data = {} if data is None else data
        self.status_code = status.HTTP_200_OK if status_code is 1 else status.HTTP_400_BAD_REQUEST

        return super().__init__(data = {'error': self.error, 'message': self.message, 'data': self.data, 'status_code': self.status_code}, status=self.status_code, *args, **kwargs)

Есть ли лучший способ сделать это? Например, мне следует расширить этот класс CustomResponse или создать совершенно новый класс каким-то другим способом?

CustomResponse используется для возврата сериализованных данных из представлений, созданных путем наследования APIView. Я использовал для этого непосредственно Response и хотел сделать что-то, что позволит мне легко добавлять дополнительные детали в зависимости от того, был ли Response успешным или в нем возникли ошибки.

Я много искал, и все, что я нашел, было похоже на код, который я сделал выше. Но я чувствую, что чего-то не хватает и что я должен сделать что-то другое.

Вернуться на верх