170 похожих чатов

Коллеги, я прошу помощи, уже крыша едет. DRF Как сделать так,

чтобы если в пост запросе нет нужного поля, он бы сам возвращал мне 400 ошибку с требованием этого поля? Использую APIView
class GetThumbnailView(APIView):
authentication_classes = (BasicAuthentication,)
permission_classes = (IsAuthenticated,)

def post(self, request, uuid):
# s3.check_exists(request.data.get('thumbnail_key'))
# TODO: create exit from check_exists.
instance = models.File.objects.filter(relative_key__contains=uuid).first()
if not instance:
raise ParseError(detail=f'File with {uuid} key does not exist.')
serializer = serializers.ThumbnailSerializer(instance,
data=request.data,
partial=True)
if serializer.is_valid():
serializer.save()
return Response({'detail': 'success'}, status=status.HTTP_200_OK)

И вот сериалайзер
class ThumbnailSerializer(serializers.ModelSerializer):

class Meta:
model = models.File
fields = ('thumbnail_key',)
read_only_fields = ('thumbnail_key',)

def update(self, instance, validated_data):
instance.thumbnail_key = validated_data.get('key', instance.thumbnail_key)
instance.save()
return instance

3 ответов

28 просмотров

Эта задача должна же быть возложена на серелизатор.

Alexey-Fateev Автор вопроса
Alexey Fateev
Вручную проверку получается делать?

Должно быть достаточно объявить поля по их типу в сериалайзере и указать, что они обязательны.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта