Код: Выделить всё
from django.core.exceptions import ValidationError
class MyModel(models.Model):
value = models.CharField(max_length=255)
def clean(self):
if self.value == "bad":
raise ValidationError("bad value")
def save(self):
self.full_clean()
return super().save()
Код: Выделить всё
from rest_framework.serializers import ModelSerializer
class MyModelSerializer(ModelSerializer):
class Meta:
model = MyModel
fields = ["value"]
Код: Выделить всё
from rest_framework.viewsets import ModelViewSet
class MyModelViewSet(ModelViewSet):
queryset = MyModel.objects.all()
serializer_class = MyModelSerializer
- Должен ли он быть перехвачен DRF и преобразован в HTTP-ответ с кодом состояния 400?
- Или это должно рассматриваться как обычное исключение и привести к сбою сервера?
Это нормально или я делаю что-то не так?
Я не хочу снова повторять свою логику проверки в сериализаторе, так какой здесь правильный подход?>
Подробнее здесь: https://stackoverflow.com/questions/798 ... s-and-turn
Мобильная версия