将用户ID的类型更改为UUID

将用户ID的类型更改为UUID

问题描述:

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

I'm using User model from django.contrib.auth.models, the default id(primary_key) type is int, how to change it to UUID?, for example id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)

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

Use AbstractUser model if you need changes in the default user model.

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)

然后在您的 settings.py

AUTH_USER_MODEL = 'myapp.MyUser'