Проверка требований Django Rest Framework - PullRequest
0 голосов
/ 23 мая 2019

Есть ли способ проверки параметров, которые передаются вместе с запросом, без написания стандартного кода?Теперь у меня есть что-то вроде этого:

    project_id = kwargs['project_id']

    try:
        project_obj = Project.objects.get(id=project_id)
    except Project.DoesNotExist:
        return Response(
            {'message': 'Requested project does not exist'},
            status=status.HTTP_404_NOT_FOUND
        )
    except ValueError:
        return Response(
            {'message': 'Project id must be a number'},
            status=status.HTTP_400_BAD_REQUEST
        )

Я читал о валидации Serializer, но я не уверен, что это правильно.Без обработки этих исключений Django просто возвращает 500, это не то поведение, которое я на самом деле хочу.

1 Ответ

1 голос
/ 23 мая 2019

Вы собираетесь закончить написание некоторого шаблона, но вы можете очистить то, что у вас есть, указав соответствующие типы полей, такие как IntegerField избавит вас от проверки типа и get_object_or_404 избавит вас от попыток / поймать в этих случаях.

Однако вы действительно хотите использовать для этой работы действительное правильное поле, и оно будет Отношение , скорее всего PrimaryKeyRelatedField.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...