I use django as a custom backend for firebase project. I want to create users in my django database from firebase credentials and have firebase UUID as my primary key for user in django db. So I have a model for my custom user in django:
class CustomUser(AbstractUser):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
UUID from firebase seems to be a random string composed of letters and numbers, while python UUID has so many different formats, that I am confused what format should I use in my case. My goal is to create a user in django with something like that:
CustomUser.objects.create(
id=uuid.UUID('<<uuid from firebase>>'),
username="mikhail",
email="[email protected]",...)
How do I do that?
CodePudding user response:
You can use simple TextField or CharField for the id column. If you have unknown users, you can generate a UUID by adding the default argument to the field definition.
def uuid_generator():
return uuid.uuid4().hex
class CustomUser(AbstractUser):
id = models.TextField(primary_key=True, default=uuid_generator)