一滩海豹 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 yolov8边框坐标
  • ¥15 matlab中使用gurobi时报错
  • ¥15 WPF 大屏看板表格背景图片设置
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真