django - 如何在 django 中更改用户 ID?
问题描述
我只是想在 django 视图中更新用户 ID。但得到:
(1062, "Duplicate entry 'Dave' for key 'username'")
视图.py
from django.contrib.auth.models import User
current_user = request.user
user = User.objects.get(id=current_user.id)
user.id = 8
user.save()
它适用于用户名,但由于 id 出现此错误而崩溃。我相信更新auth_user表不是一个好主意。更新后在 id 字段中给出“无”
解决方案
您可以采取的方法是创建这样的自定义用户模型。
from django.contrib.auth.models import AbstractUser
class User(AbstractUser):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
然后在 settings.py 中,你需要定义用户模型
AUTH_USER_MODEL = 'your_app.User'