Подробное представление пользователя Python / Django - PullRequest
0 голосов
/ 11 октября 2019

У меня проблема с Django Rest, о редактировании и деталях пользователя.

Так что это код

class UserUpdateAPIView(generics.UpdateAPIView):
    queryset = User.objects.all()
    serializer_class = UserUpdateSerializer
    lookup_field = 'username'
    permission_classes = [IsOwnerOrAdminOrReadOnly]
    throttle_scope = 'edit_user'

, а view.py похож на

path('<slug:username>/edit/', UserUpdateAPIView.as_view(), name='user-update'),

Что мне нужно сделать, это удалить это <slug:username> и установить его только / изменить, поэтому, когда я звоню, например,

http://localhost:8000/api/user/edit/

Я получу текущую информацию о моей учетной записи в API и могу изменить ее, если захочу. Я знаю, что это метод put, поэтому можно ли возвращать текущую информацию в формате json о моей учетной записи?

1 Ответ

0 голосов
/ 11 октября 2019

Вам нужно внести небольшие изменения в ваш взгляд.

Так это будет выглядеть так:

class UserUpdateAPIView(generics.UpdateAPIView):
    queryset = None
    serializer_class = UserUpdateSerializer
    permission_classes = [IsOwnerOrAdminOrReadOnly]
    throttle_scope = 'edit_user'

    def get_object(self):
        return self.request.user

, и вы можете использовать представление для конечной точки: http://localhost:8000/api/user/edit/

...