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

Как сделать, чтобы при передачи по апи массива чисел, сохранялись

те числа, которые валидные, а те, что нет, возвращались, в сообщении response? В примере происходит сохранение, только если все числа валидные

https://dpaste.org/TSAt

3 ответов

11 просмотров

Два варианта: 1) напиши кастомный метод SyncMarkSerializer.is_valid() Судя по вопросу, в этом случае форма (почти) всегда будет валидна. И позже сделай разбор чисел на хорошие/плохие или 2) если встроенный is_valid() вернул False, сделай разбор чисел на хорошие/плохие; плохие верни в response

Богдан- Автор вопроса

если использовать первый вариант, в сериализаторе будет словарь validated_data, после валидации, а для невалидных чисел можно сделать словарь invalid_data, в котором будет ids с неправильными числами. if form.is_valid(): # form.validate_data[‘ids’] # логика сохранения валидных данных if form.invalid_data[‘ids’]: return Response(form.invalid_data[‘ids’]) Что-то типа такого, хотя, наверное лучше сделать какой-то метод а-ля has_invalid_data() в котором будет raise ValidationErrorException Т.е. сначала сохраняем валидные данные, а потом пишем сообщение, что все сохранено, кроме чисел (и список чисел) Нормальное решение?

Это нестандартное поведение. Как его реализовать, думай сам. Стандартное - проверить форму, если все поля корректные, сохранить, иначе показать (вернуть) форму с введенными данными и уведомлениями о том, где именно ошибки. Так у тебя сейчас работает (скорее всего). Я бы предложил подумать о том, нужно ли тебе нестандартное поведение на самом деле или нет. Что для твоего API ок, а что не ок.

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
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
Карта сайта