Встречается на собеседованиях • сегодня

На чем делаешь валидацию входных данных в DRF

В DRF валидацию входных данных можно делать несколькими способами, в зависимости от уровня контроля: 1. **Поля сериализатора** – базовый уровень. Используются встроенные валидаторы (`max_length`, `required` и т. д.) или кастомные через `validators=[]`. ```python from rest_framework import serializers class UserSerializer(serializers.Serializer): email = serializers.EmailField() age = serializers.IntegerField(min_value=18) ``` 2. **Метод `validate_`** – для проверки конкретного поля. ```python def validate_age(self, value): if value > 100: raise serializers.ValidationError("Age too high") return value ``` 3. **Метод `validate()`** – для комплексной проверки нескольких полей. ```python def validate(self, data): if data["start_date"] > data["end_date"]: raise serializers.ValidationError("Dates are invalid") return data ``` 4. **Валидаторы уровня модели** – если данные сохраняются в БД, можно добавить `validators` в модель (например, `RegexValidator`). Для сложной логики иногда выносят валидацию в отдельные классы или используют сторонние библиотеки (например, `pydantic`).
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы