Создайте пользователя 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)