прокинуть можно ли делать этому пользователю edit с балалайками (хочу добавить объект permissions к листу)
Как лучше добавить к ответу поле с request.user.has_perm('instruments.change_balalaika')? Оверрайдить def list и расширять что возвращается return Response(serializer.data), как-то не оч. Пытаться в queryset запихнуть доп поле - тоже не нравится (
Какой подход с передачей пермишенов на фронт "правильный"? Что-то вот не хочу все пермишены юзера тянуть и знать на фронте куда что мапить ((
https://www.django-rest-framework.org/api-guide/fields/#serializermethodfield может тебе нужно это?
тоже так подумал, но в сериалайзер пробрасывается только queryset: serializer = self.get_serializer(queryset, many=True), а нужных данных там нету request.user хочу
вообще в сериализаторах drf есть контекст с реквестом https://www.django-rest-framework.org/api-guide/serializers/#including-extra-context
блин, точно, просмотрел, спасибо 👍 Пока решил изменить вот так (есть пагинация, так что ответ объект) def list(self, request, *args, **kwargs): response = super(AbReportListView, self).list(request, *args, **kwargs) response.data.update( {'permissions': {'can_edit': request.user.has_perm('instruments.change_balalaika')}}) return response
Обсуждают сегодня