当前位置: 首页 > news >正文

django.core.management.base.SystemCheckError

Django 内置的 User 模型之间存在冲突

django.core.management.base.SystemCheckError: SystemCheckError: System check identified some issues:ERRORS:
auth.User.groups: (fields.E304) Reverse accessor 'Group.user_set' for 'auth.User.groups' clashes with reverse accessor for 'webapp.Suser.groups'.HINT: Add or change a related_name argument to the definition for 'auth.User.groups' or 'webapp.Suser.groups'.
auth.User.user_permissions: (fields.E304) Reverse accessor 'Permission.user_set' for 'auth.User.user_permissions' clashes with reverse accessor for 'webapp.Suser.user_permissions'.HINT: Add or change a related_name argument to the definition for 'auth.User.user_permissions' or 'webapp.Suser.user_permissions'.

问题详情:

\1. auth.User.groupsauth.User.user_permissionswebapp.Suser 的冲突

Django 的内置 User 模型已经定义了 groupsuser_permissions 字段,这些字段与 GroupPermission 模型有反向关系。当您在自定义用户模型 Suser 中继承 AbstractBaseUserPermissionsMixin 时,也会有类似的字段和反向关系,这就导致了冲突。‘’

解决办法:

from django.contrib.auth.models import AbstractBaseUser, PermissionsMixin, BaseUserManagerclass Suser(AbstractBaseUser, PermissionsMixin):email = models.EmailField(verbose_name='邮箱', max_length=255, unique=True)username = models.CharField(max_length=50, verbose_name='用户名')is_active = models.BooleanField(default=True, verbose_name='激活用户')is_staff = models.BooleanField(default=False, verbose_name='职员状态')# 其他字段...groups = models.ManyToManyField('auth.Group',related_name='suser_groups',  # 添加 related_name 以避免冲突verbose_name='groups',blank=True,help_text='The groups this user belongs to. A user will get all permissions granted to each of their groups.',related_query_name='suser',)user_permissions = models.ManyToManyField('auth.Permission',related_name='suser_permissions',  # 添加 related_name 以避免冲突verbose_name='user permissions',blank=True,help_text='Specific permissions for this user.',related_query_name='suser',)

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 阿布吞的基础使用——Ubuntu
  • 格式化字符串漏洞
  • 基于Qt的osg读取模型进度回调
  • 数据结构:栈(含源码)
  • [QNX] C++编程: 外部硬件加速器与SOC共享内存中使用NOCACHE的必要性与优化策略
  • jQuery实现图片轮播效果
  • Redis相关面试题(二)
  • Go框架选战:Gin、Echo、Fiber的终极较量
  • 力扣 | 递增子序列 | 动态规划 | 最长递增子序列、最长递增子序列的个数、及其变式
  • Python-调用pymysql库,执行插入语句
  • 3个月,从Web前端到鸿蒙应用高手
  • 67、ceph
  • Go语言+Vue3开发前后端后台管理系统实战 用户管理的前端界面和表结构分析
  • MySQl 中对数据表的增删改查(基础)
  • 软件测试下的AI之路(6)
  • 【跃迁之路】【444天】程序员高效学习方法论探索系列(实验阶段201-2018.04.25)...
  • Android开源项目规范总结
  • Angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?
  • MyEclipse 8.0 GA 搭建 Struts2 + Spring2 + Hibernate3 (测试)
  • mysql中InnoDB引擎中页的概念
  • Spring Cloud Alibaba迁移指南(一):一行代码从 Hystrix 迁移到 Sentinel
  • springboot_database项目介绍
  • TiDB 源码阅读系列文章(十)Chunk 和执行框架简介
  • unity如何实现一个固定宽度的orthagraphic相机
  • Vue.js-Day01
  • 盘点那些不知名却常用的 Git 操作
  • 前端每日实战 2018 年 7 月份项目汇总(共 29 个项目)
  • 如何邀请好友注册您的网站(模拟百度网盘)
  • 使用putty远程连接linux
  • ​Java并发新构件之Exchanger
  • ​VRRP 虚拟路由冗余协议(华为)
  • ​一文看懂数据清洗:缺失值、异常值和重复值的处理
  • # Swust 12th acm 邀请赛# [ A ] A+B problem [题解]
  • (1)Jupyter Notebook 下载及安装
  • (1)虚拟机的安装与使用,linux系统安装
  • (2024.6.23)最新版MAVEN的安装和配置教程(超详细)
  • (delphi11最新学习资料) Object Pascal 学习笔记---第13章第1节 (全局数据、栈和堆)
  • (Oracle)SQL优化基础(三):看懂执行计划顺序
  • (PADS学习)第二章:原理图绘制 第一部分
  • (非本人原创)我们工作到底是为了什么?​——HP大中华区总裁孙振耀退休感言(r4笔记第60天)...
  • (附源码)springboot工单管理系统 毕业设计 964158
  • (附源码)springboot金融新闻信息服务系统 毕业设计651450
  • (附源码)ssm考生评分系统 毕业设计 071114
  • (四)库存超卖案例实战——优化redis分布式锁
  • (一)eclipse Dynamic web project 工程目录以及文件路径问题
  • (一一四)第九章编程练习
  • (原創) 博客園正式支援VHDL語法著色功能 (SOC) (VHDL)
  • (转)scrum常见工具列表
  • **PHP二维数组遍历时同时赋值
  • *_zh_CN.properties 国际化资源文件 struts 防乱码等
  • .DFS.
  • .net 7和core版 SignalR
  • .NET core 自定义过滤器 Filter 实现webapi RestFul 统一接口数据返回格式
  • .Net 应用中使用dot trace进行性能诊断
  • .NET 中小心嵌套等待的 Task,它可能会耗尽你线程池的现有资源,出现类似死锁的情况