При нажатии кнопки create api на postman "ошибка": "hashpw() аргумент 1 должен быть строкой, а не байтом".

Код для создания пользователя try: # Если это социальный логин от Google, Facebook или Apple if 'social_login_id' in request.data and request.data['social_login_id'] != 0: schema = { "email": { "type": "string", "required": False, 'nullable': True}, "device_token": { "type": "string", "required": True, 'empty': Ложь}, "device_type": {'type':'number', 'required': True, 'empty': Ложь}, "social_token": {'type':'string', 'required': True, 'empty': False}, "social_login_id": {'type':'number', 'required': True, 'empty': False} } else: # Если email id уже существует if User.objects(email=request.data.get('email').lower()).first(): return Response({'error': Messages.EMAIL_EXITS}, status=status.HTTP_200_OK)

        # If username already exist
        if User.objects(username=request.data.get('username')).first():
            return Response({'error': Messages.USERNAME_EXITS}, status=status.HTTP_200_OK)

        schema = {
            "first_name": {'type': 'string', 'required': True, 'empty': False},
            "last_name": {'type': 'string', 'required': True, 'empty': False},
            "username": {'type': 'string', 'required': True, 'empty': False},
            "email": {'type': 'string', 'required': True, 'empty': False},
            "password": {'type': 'string', 'required': True, 'empty': False},
            "device_type": {'type': 'integer', 'required': True, 'empty': False},
            "device_token": {'type': 'string', 'required': True, 'empty': False},
            "social_token": {'type': 'string', 'required': False, 'nullable': True},
            "social_login_id": {'type': 'integer', 'required': True, 'empty': False},
        }
    v = Validator()

    # validate the request
    if not v.validate(request.data, schema):
        return Response({'error': v.errors}, status=status.HTTP_400_BAD_REQUEST)

    # Create new user
    utility = hashingUtility()
    hashed_model = utility.getHashedPassword(request.data["password"])
    User.objects.create(
        first_name=request.data["first_name"],
        last_name=request.data["last_name"],
        username=request.data["username"],
        email=request.data["email"],
        password=str(hashed_model.Password, 'utf-8'),
        password_salt=str(hashed_model.Salt, 'utf-8'),
        device_type=request.data["device_type"],
        device_token=request.data["device_token"],
        social_token=request.data["social_token"],
        social_login_id=request.data["social_login_id"],
        is_active=1,
        is_deleted=0
    )

    # Get inserted user
    user_obj = User.objects.order_by('-id').first()
    serializer = UserInfoSerializer(user_obj, many=False)

    # Return response
    return Response(serializer.data, status=status.HTTP_201_CREATED)
except Exception as exception:
    Logger.objects.create(
        error=str({'error': 'Something went wrong at create user', 'response': str(exception)}),
        path=str('v1/user/create/')
    )
    return Response({'error': str(exception)}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)

тело API { "email": "vikrant@yop.com", "first_name": "vihil", "last_name": "umar", "device_token": "12adasda1212asdasdas", "device_type": 2, "social_login_id": 0, "social_token": "", "password": "123456", "имя пользователя": "okayokay". }

Вернуться на верх