def post(self, request):
    request_data = _prepare_request_data_for_validation(request.data)
    serializer = FollowUserRequestSerializer(data=request_data, context={'request': request})
    serializer.is_valid(raise_exception=True)
    data = serializer.validated_data
    lists_ids = data.get('lists_ids')
    user_to_follow_username = data.get('username')
    user = request.user
    User = get_user_model()
    user_to_follow = User.objects.get(username=user_to_follow_username)
    with transaction.atomic():
        follow = user.follow_user_with_id(user_to_follow.pk, lists_ids=lists_ids)
    response_serializer = FollowSerializer(follow, context={'request': request})
    return Response(response_serializer.data, status=status.HTTP_201_CREATED)
def post(self, request):
    request_data = _prepare_request_data_for_validation(request.data)
    serializer = FollowUserRequestSerializer(data=request_data, context={'request': request})
    serializer.is_valid(raise_exception=True)
    data = serializer.validated_data
    lists_ids = data.get('lists_ids')
    user_to_follow_username = data.get('username')
    user = request.user
    User = get_user_model()
    user_to_follow = User.objects.get(username=user_to_follow_username)
    with transaction.atomic():
        follow = user.follow_user_with_id(user_to_follow.pk, lists_ids=lists_ids)
    response_serializer = FollowSerializer(follow, context={'request': request})
    return Response(response_serializer.data, status=status.HTTP_201_CREATED)