将用户ID的类型更改为UUID

Yuw*_*Yan 7 python django

我正在使用Usermodel from django.contrib.auth.models,默认id(primary_key)类型是int,如何将其更改为UUID ?,例如id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)

Asw*_*esh 21

如果需要更改默认用户模型,请使用AbstractUser模型.

import uuid
from django.db import models
from django.contrib.auth.models import AbstractUser

class MyUser(AbstractUser):
    id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
Run Code Online (Sandbox Code Playgroud)

然后在你的settings.py,

AUTH_USER_MODEL = 'myapp.MyUser'
Run Code Online (Sandbox Code Playgroud)

  • https://docs.djangoproject.com/en/stable/topics/auth/customizing/#substituting-a-custom-user-model (2认同)