一滩海豹 2022-12-08 20:09 采纳率: 53.8%
浏览 43
已结题

django如何创建指定id用户

问题遇到的现象和发生背景

django 使用框架自带的User时如果想要创建指定id用户或修改用户id该怎么做?
想要创建id为3的用户

img

遇到的现象和发生背景,请写出第一个错误信息
用代码块功能插入代码,请勿粘贴截图。 不用代码块回答率下降 50%
运行结果及详细报错内容
我的解答思路和尝试过的方法,不写自己思路的,回答率下降 60%
我想要达到的结果,如果你需要快速回答,请尝试 “付费悬赏”
  • 写回答

1条回答 默认 最新

  • ShowMeAI 2022-12-08 20:50
    关注

    望采纳


    在 Django 中,如果想要创建指定 id 的用户,需要在调用 save() 方法时指定 force_insert=True 和 force_update=False 参数。例如:

    from django.contrib.auth.models import User
    
    # 创建一个新用户,其 id 为 3
    user = User(id=3, username='john', password='123456')
    user.save(force_insert=True, force_update=False)
    

    如果想要修改用户的 id,则可以使用 save(update_fields=['id']) 方法,例如:

    from django.contrib.auth.models import User
    
    # 获取 id 为 1 的用户
    user = User.objects.get(id=1)
    
    # 修改用户的 id
    user.id = 3
    user.save(update_fields=['id'])
    

    但需要注意的是,Django 中的用户模型 User 默认设置了 id 字段为主键,且不允许修改。因此,在上面的代码中,我们需要在 models.py 文件中将 User 的 id 字段设置为可编辑,例如:

    from django.contrib.auth.models import User
    from django.db import models
    
    class User(User):
        id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=True)
    

    这样,就可以创建指定 id 的用户或修改用户的 id 了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月17日
  • 已采纳回答 12月9日
  • 创建了问题 12月8日

悬赏问题

  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度