Создайте пользователя django с идентификатором пользователя firebase User UID в качестве id

Я использую django в качестве пользовательского бэкенда для проекта firebase. Я хочу создавать пользователей в моей базе данных django из учетных данных firebase и иметь UUID firebase в качестве первичного ключа для пользователя в базе данных django. Итак, у меня есть модель для моего пользовательского пользователя в django:

class CustomUser(AbstractUser):

    id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)

UUID из firebase кажется случайной строкой, состоящей из букв и цифр, а в python UUID имеет так много различных форматов, что я запутался, какой формат использовать в моем случае. Моя цель - создать пользователя в django с чем-то вроде этого:

CustomUser.objects.create(
        id=uuid.UUID('<<uuid from firebase>>'), 
        username="mikhail",
        email="email@example.com",...)

Как мне это сделать?

Для столбца id можно использовать простое поле TextField или CharField. Если у вас есть неизвестные пользователи, вы можете сгенерировать UUID, добавив аргумент по умолчанию в определение поля.

def uuid_generator():
    return uuid.uuid4().hex

class CustomUser(AbstractUser):
    id = models.TextField(primary_key=True, default=uuid_generator)
Вернуться на верх