Python-Django学习日记

在Django开发中遇到用户组和权限只能关联到系统默认的User模型问题。通过设置AUTH_USER_MODEL为自定义User模型后,执行makemigrations和migrate时出现错误。解决方法是手动创建迁移文件并执行migrate。如果已有迁移,需要删除数据库并重建,再执行migrate以完成用户模型替换。
摘要由CSDN通过智能技术生成

记录一个碰到的Django开发问题

记录django 问题1:group permission
在这里插入图片描述
group permission
我们的用户组和权限只能关联一个用户表
这是因为在源码中系统定义了一个用户表:
django.contrib.auth.models下面的User

如何解决?
让我们的User模型替换系统的User就可以了
在这里插入图片描述
这里是因为有这个情况,替换user模型就行了

在settings里面添加了:

# 修改默认的用户模型 应用名.模型名
AUTH_USER_MODEL = 'users.User'

这个时候报错改变:

在这里插入图片描述
仔细阅读不难发现,这里是说没有迁移文件,这里我们直接手动生成一下:python manage.py makemigrations
在这里插入图片描述
然后可以发现我们的迁移文件创建成功!~
然后执行 python manage.py migrate 进行迁移,迁移成功如下:
在这里插入图片描述
当然 如果你曾经迁移过就会导致原本的表已经存在了,这时候想要去重新弄已经来不及了,所以解决方法如下:

drop database databasename;
create database databasename default character set utf8 collate utf8_general_ci;

直接重建,然后执行python manage.py migrate就ok啦!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wx-zhou

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值