TypeError: объект 'list' не вызывается | Обработка исключений DRF - PullRequest
0 голосов
/ 03 мая 2020

Я пытаюсь проанализировать Django модель ValidationError в DRF ValidationError. Но я продолжаю получать следующий вывод:

TypeError: 'list' object is not callable

Вот функция модели: Чтобы избежать повторения: я вставлю ссылку на предыдущий вопрос, который имеет функцию модели.

models.py

Вот мой пользовательский обработчик исключений:

import logging

from django.core.exceptions import ValidationError as DjangoValidationError
from rest_framework.exceptions import ValidationError

LOG = logging.getLogger(__name__)


def transform_exception(exception):
    """Transform model validation errors into an equivalent \
    DRF ValidationError.
    After reading the references, you may decide not to use this.

    References:
    https://www.kye.id.au/blog/understanding-django-rest-framework-model-full-clean/
    https://www.dabapps.com/blog/django-models-and-encapsulation/
    """
    if isinstance(exception, DjangoValidationError):
        if hasattr(exception, "message_dict"):
            detail = exception.message_dict
        elif hasattr(exception, "message"):
            detail = exception.message
        elif hasattr(exception, "messages"):
            detail = exception.messages
        else:
            LOG.error("BAD VALIDATION MESSAGE: %s", exception)

        exception = ValidationError(detail=detail)

    return exception

А вот мой журнал ошибок:

Журналы сервера

Куда я иду не так?

...