You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django开发CRM自定义用户模型出现fields.E304反向访问器冲突报错

报错原因
  • 核心配置拼写错误:Django指定自定义用户模型的官方配置项为AUTH_USER_MODEL(单数形式),你在settings.py中错误写成了复数的AUTH_USER_MODELS,导致Django无法识别你自定义的leads.User模型,同时加载了默认的auth.User和你定义的User两个继承AbstractUser的模型,二者的groups、user_permissions字段生成的反向关联名冲突,触发报错。
  • 代码语法缺失:你贴出的INSTALLED_APPS列表缺少闭合的右中括号],属于基础语法错误,也会影响配置加载。
  • 潜在迁移残留问题:如果在配置自定义用户模型之前已经执行过migrate生成了默认auth相关的数据库表,残留的迁移记录也会触发该冲突。
解决方法
  1. 修正settings.py错误
    首先补全INSTALLED_APPS的闭合括号,再修改自定义用户模型配置:
# 补全INSTALLED_APPS闭合
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'leads',
]

# 把复数的AUTH_USER_MODELS改为单数的AUTH_USER_MODEL
AUTH_USER_MODEL = 'leads.User'
  1. 清理残留文件并重新迁移
    如果项目还在开发阶段无生产数据,按以下步骤操作:
  • 删除项目根目录下的默认数据库文件(通常为db.sqlite3)
  • 删除leads应用下migrations目录中除__init__.py之外的所有文件
  • 执行命令生成新的迁移文件:python manage.py makemigrations
  • 执行迁移命令同步数据库:python manage.py migrate

内容的提问来源于stack exchange,提问作者Developer Lachi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 07:24:02