Я хочу создать API с разрешениями на уровне поля. Я получаю эти разрешения из таблицы базы данных, но где в структуре REST есть место, чтобы проверить, может ли пользователь выполнять операции CRUD в поле объекта?Django Rest Framework и разрешения на уровне поля
database --- model ---- ModelSerializer ---- ModelViewSet --- browser
В ModelSerializer? Здесь я могу сбросить поля до того, как они попадут в представление, но у меня нет доступа к request.user по умолчанию, поэтому я должен реализовать это, что можно сделать, но не работает с другими 3-х партийными библиотеками. (django-rest-swagger)
или в ModelViewset? Где я могу переопределить список, создавать, обновлять и уничтожать методы, чтобы отбрасывать поля, к которым у пользователя нет доступа. Но это не очень хорошо работает с моей реализацией метаданных, потому что это получает метаданные непосредственно из сериализатора.
Или, может быть, оба? Например: капельный не разрешенные читает в сериализатор, когда модель извлекается по сериализатору и капельный не разрешенным-пишет в до того режима просмотра они получают передаются обратно в сериализаторе?