Код 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
  1. Идите по пути path.split(".").
  2. Проверяйте наличие ключа, а не истинность значения.

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.