【问题标题】:Change the type of User ID to UUID将用户 ID 的类型更改为 UUID
【发布时间】:2015-08-31 12:16:31
【问题描述】:

我用的是django.contrib.auth.modelsUser模型,默认的id(primary_key)类型是int,怎么改成UUID?比如id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)

【问题讨论】:

    标签: python django


    【解决方案1】:

    如果您需要更改默认用户模型,请使用 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)
    

    然后在你的settings.py

    AUTH_USER_MODEL = 'myapp.MyUser'
    

    【讨论】:

    • 当 django 尝试将一些日志写入引用用户整数 ID 的 django_admin_log 表时,如何解决管理站点中引发的错误? operator does not exist: integer = uuid LINE 1: ...OIN "users_user" ON ("django_admin_log"."user_id" = "users_u...
    • 我也收到了ProgrammingError at /admin/ operator does not exist: integer = uuid LINE 1: ...JOIN "core_user" ON ("django_admin_log"."user_id" = "core_us...。你解决了吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-06
    • 2014-02-27
    • 2013-12-19
    • 2019-12-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多