Как создать нового пользователя в Django с помощью LDAP?

Я использую Django для создания REST API с LDAP. Одна из конечных точек получает имя пользователя (это не то же самое имя пользователя, который вошел в систему через IsAuthenticated). Я хочу проверить, существует ли это имя пользователя в системе, даже если он никогда не входил в систему. Мой текущий код был таким:

try:
    user = User.objects.get(username=request.data['username'])
except:
    return Response(data={"error": "User does not exist"}, status=status.HTTP_400_BAD_REQUEST)

Это, конечно, не работает, потому что база данных содержит пользователей, которые вошли в систему хотя бы один раз. Как я могу создать пользователя, если он не существует? Я знаю, что могу использовать User.objects.create, но я хочу, чтобы он получал данные из LDAP, а не просто передавал ему username.

Логика, которая мне нужна:

  • Проверьте, не принадлежит ли имя пользователя какому-либо пользователю через LDAP. Если да, то возвращается сообщение об ошибке.
  • В противном случае, создайте/наполните пользователя и выполните другие действия (исходя из назначения конечной точки).

Я использую django_auth_ldap.

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