Django-Rest-Framework AttributeError объект не имеет атрибута 'id'

Я столкнулся с этой ошибкой после попытки ввода данных через DRF

    File "G:\partshouse\venv\lib\site-packages\rest_framework_simplejwt\tokens.py", line 176, in for_user
    user_id = getattr(user, api_settings.USER_ID_FIELD)
AttributeError: 'TestBookingSerializer' object has no attribute 'id'
[17/Apr/2022 02:11:40] "POST /api/testbooking/ HTTP/1.1" 500 17894

Serializer.py

class TestBookingSerializer(serializers.ModelSerializer):
class Meta:
    model = PendingBooking
    fields = ['booking_id', 'cus_name', 'cus_unique_id', 'created_by', 'date', 'loading_date_time',
              'unloading_date_time', 'due_amount', 'trip_profit',
              'ph_number', 'cargo_weight', 'vehicle_type', 'loading_address',
              'trip_distance', 'unloading_address',
              ]

слушайте, я cus_name как имя пользователя, который является пользователем, клиент может войти

Вид

class TestAPIBookingOnly(APIView):
    renderer_classes = [UserRenderers]
    permission_classes = [IsAuthenticated]

    def post(self, request, format=False):

        serial = TestBookingSerializer(data=request.data, partial=True)

        if serial.is_valid():
            token = get_tokens_for_user(serial)
            serial.save()
            return Response({'token': token, 'msg': 'Data Entry Successful',
                     }, status=status.HTTP_200_OK)
        return Response(serial.errors, status=status.HTTP_400_BAD_REQUEST)

По моему мнению, сначала нужно получить id пользователя с помощью этого кода и поместить этот user_id в метод get_token_for_user():

def post(self, request, format=False):
    user_id = self.request.user.id
    serial = TestBookingSerializer(data=request.data, partial=True)

    if serial.is_valid():
        token = get_tokens_for_user(user_id)
        serial.save()
        return Response({'token': token, 'msg': 'Data Entry Successful',
                 }, status=status.HTTP_200_OK)
    return Response(serial.errors, status=status.HTTP_400_BAD_REQUEST)
Вернуться на верх