Код Junior Django REST Framework обновлено
Сериализация с выбором полей
Условие
Напишите serialize(objects, fields): каждый объект это словарь, поле может быть путём через точку ("customer.name"). Верните список словарей только с запрошенными полями (ключ это путь как есть). Если по пути значения нет (промежуточный объект None или ключа нет), значение None. Это упрощённая модель source="customer.name" в DRF.
Примеры
serialize([{"id":1,"customer":{"name":"Аня"},"secret":"x"}], ["id", "customer.name"]) // [{"id":1,"customer.name":"Аня"}]
serialize([], ["id"]) // []
serialize([{"id":2,"customer":null}], ["customer.name"]) // [{"customer.name":null}]
Как подойти
Подсказки: 2
- Идите по пути
path.split("."). - Проверяйте наличие ключа, а не истинность значения.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.