Я читал много похожих тем и знаю, что есть несколько способов достичь цели, но мне интересно, есть ли у кого-нибудь мнение по этому вопросу.
Постановка задачи
Мое приложение имеет два основных типа пользователей. Клиенты и сотрудники. При извлечении данных из конечной точки клиенты нередко видят поля просмотра, чем сотрудники.
Кроме того, данные из представления списка обычно имеют меньше полей, чем поля извлечения.
Решение
Создать сериализатор для каждого метода, а также для каждого типа пользователя. Например, в конечной точке / orders у меня может быть до 8 различных сериализаторов
OrdersListStaffSerializer
OrdersListCustSerializer
OrdersRetrieveStaffSerializer .... и т. Д.
Тогда я могу просто выбрать правильный сериализатор для условия.
ПРОФИ
Кажется хорошей гибкостью в возможности точно контролировать, кто что видит, а также какие данные им разрешено записывать.
CONS
Такое ощущение, что может быть много дублирования усилий.
Отсутствует возможность более точного контроля данных в зависимости от разрешений.
Хотите знать, имел ли кто-либо опыт работы с этим типом конструкции, и работал ли он хорошо или стал слишком громоздким для обслуживания.
Спасибо!