Я использую среду отдыха django с ModelViewset:
class FooViewset(viewsets.ModelViewSet):
serializer_class = FooSerializer
queryset = Foo.objects.all()
и ModelSerializer:
class FooSerializer(serializers.ModelSerializer):
class Meta:
model = Foo
fields = [
"id",
"bar",
"baz",
]
У меня также есть метод сохранения модели:
class Foo(models.Model):
...
def save(self):
if condition:
raise ValidationError("Illegal parameters")
return super().save(*args, **kwargs)
При возникновении этой ошибки проверки drf отправляет ответ 500 во внешний интерфейс без текста.Как заставить его вместо этого дать ответ «неверный запрос» с текстом в ValidationError (параметр Illegal)?