#django #django-rest-framework
#django #django-rest-framework
Вопрос:
Теперь я могу просто получить информацию по идентификатору. -> user/{id}
Я хочу получить пользователя с авторизацией и получить его информацию по умолчанию, например user
Мой взгляд
class UserInfoViewSet(mixins.RetrieveModelMixin,
viewsets.GenericViewSet):
permission_classes = (IsAuthenticated,)
serializer_class = serializers.UserFollowersSerializer
def get_queryset(self):
return User.objects.filter(privacy__is_public=True)
Комментарии:
1. вы хотите использовать ту же конечную точку (
user/{id}
)? если нет, пожалуйста, поделитесь шаблоном URL, который вы хотите для API user info.
Ответ №1:
Итак, если вы хотите получить информацию о текущем вошедшем в систему пользователе, вы могли бы сделать что-то вроде этого:
@action(methods=['get'], detail=False)
def current_user(self, request, *args, **kwargs):
serializer = self.get_serializer(request.user)
return Response(serializer.data)
Без дополнительных действий я мог бы подумать о следующих возможностях.
(1) Вы могли бы перезаписать свой get_queryset
метод, чтобы просто фильтровать для user=self.request.user
.
(2) Вы могли бы перезаписать get_object
для возврата self.request.user
.
Комментарии:
1. Возможно ли получить информацию о текущем вошедшем в систему пользователе без каких-либо действий?
2. @kate Я только что отредактировал свой ответ. Вы думали о чем-то подобном?