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

Django报错:提交数据至模型数据库时出现ProgrammingError,password1列不存在

错误详情

访问路径 /admin/formRegister/formregister/ 时触发ProgrammingError错误,提示:

column formRegister_formregister.password1 does not exist
LINE 1: ...astname", "formRegister_formregister"."username", "formRegis...
^

  • 请求方法:GET
  • 请求地址:http://localhost:8000/admin/formRegister/formregister/
  • Django版本:4.0.5
  • 异常类型:ProgrammingError
  • 异常发生位置:C:\Users\hp\Desktop\Django\django3.9\lib\site-packages\django\db\backends\utils.py,第89行,_execute方法
  • Python可执行文件:C:\Users\hp\Desktop\Django\django3.9\Scripts\python.exe
  • Python版本:3.9.13
  • Python路径:
    • C:\Users\hp\Desktop\Django\teluskoa
    • C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.3568.0_x64__qbz5n2kfra8p0\python39.zip
    • C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.3568.0_x64__qbz5n2kfra8p0\DLLs
    • C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.3568.0_x64__qbz5n2kfra8p0\lib
    • C:\Users\hp\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0
    • C:\Users\hp\Desktop\Django\django3.9
    • C:\Users\hp\Desktop\Django\django3.9\lib\site-packages
  • 服务器时间:2022年8月11日 周四 16:02:26 +0000

解决方法

  1. 检查模型与表单匹配:password1是表单验证用的临时字段(比如UserCreationForm里的密码确认字段),不需要加到数据库模型中。确保你的formRegister_formregister模型只定义了存储加密密码的password字段,而非password1。
  2. 修正Admin配置:如果在admin.py注册模型时,错误地将password1加入了list_display、fields等配置项,立即移除这些配置,Admin会尝试从数据库读取该字段导致报错。
  3. 同步数据库结构:若最近修改过模型字段,执行以下命令同步数据库:
    python manage.py makemigrations
    python manage.py migrate
    
  4. 检查表单逻辑:如果用了自定义注册表单,确保save()方法正确处理密码——将password1加密后存入模型的password字段,而非直接写入password1到数据库。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 04:18:17