Если набор методов, например для создания, удаления и обновления доступны только для администраторов, я хочу иметь возможность скрыть метод в представлении документации, но я не нашел способа сделать это. Это возможно?
class MyDetailView(generics.RetrieveUpdateDestroyAPIView):
queryset = MyObject.objects.all()
authentication_classes = (SessionAuthentication, BasicAuthentication, TokenAuthentication)
permission_classes = (permissions.IsAdminUser,)
serializer_class = MySerializer
Да, это то, что я делаю, но я хотел, чтобы доступность метода с учетом классов разрешений отражалась в пользовательском интерфейсе.





Я не думаю, что вы можете просто скрыть метод в представлении документации по умолчанию. Вы можете сделать это в своем интерфейсе, но представление документации не имеет такой функции. Он просто показывает конечные точки и разрешенные для них запросы.
Разрешения пользователей - это то, что вы проверяете, а затем визуализируете соответствующие формы в своем интерфейсе.
Какая жалость. Я надеялся, что интерфейс будет достаточно умен, чтобы посмотреть классы разрешений и текущего пользователя, а затем решить, должна ли он, например, показывать вкладку создания или нет.
Что ж, возможно, это возможно через админ-панель django с использованием форм, но я не пробовал, потому что я никогда не использовал его в производстве, я всегда полагаюсь на настраиваемый клиентский интерфейс.
Вы не можете скрыть методы, но можете ограничить действия, указав разрешения_классы