Как мы получаем модель, если сериализатор (serializer) уже заполнен
Python
Middle
Без компании
Как мы получаем модель, если сериализатор (serializer) уже заполнен
Ответы
Если сериализатор уже заполнен данными и прошёл валидацию, получить модель можно через метод `save()`. Он создаст или обновит экземпляр модели на основе данных сериализатора.
Пример с Django REST Framework:
```
serializer = MyModelSerializer(data=request.data)
if serializer.is_valid():
instance = serializer.save() # Возвращает модель
print(instance.id) # Доступ к полям модели
```
Нюансы:
- Для создания модели используется `data=...`, для обновления - `instance=existing_model, data=...`
- `save()` может принимать дополнительные аргументы, которые попадут в `create()`/`update()`
- Если сериализатор не валиден, `save()` вызовет исключение `AssertionError`