Home > Enterprise >  Create django user with firebase User UID as id
Create django user with firebase User UID as id

Time:10-04

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)
  • Related