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

Django后台添加CustomUser触发FieldError:未知字段usable_password

解决Django管理面板添加CustomUser时的FieldError(unknown field usable_password)

问题确认

你的排查完全正确,admin.py中CustomUserAdmin类里的笔误(将change_form误写为change)就是触发这个错误的核心原因。

Django的ModelAdmin中,change_form是用于指定自定义修改表单的属性,而错误写成change后,Django会将其当作要渲染的字段名去解析,但你的CustomUser模型并没有usable_password字段,因此直接抛出Unknown field的异常。

解决方法

  1. 打开项目的admin.py文件,定位到CustomUserAdmin类
  2. 修正笔误:将错误的change属性改为change_form(如果是用于指定自定义修改表单的场景),如果是误加的无效属性,直接删除即可

错误代码示例(对应你的情况):

class CustomUserAdmin(admin.ModelAdmin):
    # 错误写法:把change_form写成了change
    change = CustomUserChangeForm
    add_form = CustomUserCreationForm

修正后的代码:

class CustomUserAdmin(admin.ModelAdmin):
    # 正确写法:使用change_form指定修改表单
    change_form = CustomUserChangeForm
    add_form = CustomUserCreationForm
  1. 保存文件后重启Django服务,再次进入管理面板添加CustomUser就不会触发该错误了。

补充:之前删除db.sqlite3和迁移文件的操作是不必要的,因为问题根源不在数据库结构,而是admin配置的笔误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 03:54:54