如何在django中更改用户id?

如何在django中更改用户id?,django,Django,我只是想在django视图中更新用户id。但是得到: (1062, "Duplicate entry 'Dave' for key 'username'") views.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() 它适用于用户名,但因

我只是想在django视图中更新用户id。但是得到:

(1062, "Duplicate entry 'Dave' for key 'username'")
views.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'

我认为,若任何表是自动递增的,就不应该更改它的主键。若从数据库中删除用户,他的id将为空,所以新的用户id将自动递增。至少我不想要空id,也不会有“空id”,只是不再有带有该id的条目。你为什么要更改ID?你能解释一下你想在这里实现什么吗?是的,我的错,我登录时检查过了。我有一个第三方数据库,里面有id和这个id的数据。该数据库定期更新,新列等。如果数据库中的id发生变化(最好在数据库中改变,但任何事情都可能发生)是的,好主意。我仍在尝试不创建自定义用户模型。它的工作系统和默认模型就足够了