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

使用Django模型表单提交数据无法写入数据库的问题求助

需要修改的问题汇总


views.py(核心错误所在)

  • 请求方法判断错误:原代码if request == 'POST'需修改为if request.method == 'POST',原写法永远无法匹配POST请求,导致保存逻辑从未触发,这是表单提交后数据未入库的直接原因。
  • save方法参数错误:原代码form.save(Commit=False)的参数需改为小写form.save(commit=False),Django的save方法参数为小写commit,大写会触发参数错误。
  • 缩进错误:results函数缩进在AppS函数内部,需调整缩进和AppS函数同级,否则无法正常访问对应的路由。
  • 优化建议:表单保存成功后增加重定向逻辑,避免用户刷新页面重复提交,例如保存后添加return redirect('results')(需提前配置好results页面对应的路由名称)。

forms.py

  • 方法缩进错误:clean_Producer_Email方法当前是全局函数,没有缩进在AppsForm类内部,导致自定义的邮箱校验规则完全不生效,需将该方法整体缩进至AppsForm类的代码块内。
  • 校验逻辑优化:当前校验逻辑为遍历全表查询邮箱是否重复,性能极低,如果需求是邮箱唯一,直接在models.py的Producer_Email字段添加unique=True参数即可,无需手动编写校验逻辑。
  • 冗余校验:邮箱非空校验无需手动编写,该字段在模型中未设置blank=True,表单默认会自带非空校验。

models.py

  • 方法缩进错误:__unicode__方法未缩进在Appear类内部,导致实例打印逻辑不生效,若使用Python3环境,需将方法名改为__str__(Python3不再使用__unicode__方法)。
  • 无效参数:DateField无需设置max_length参数,可直接删除该参数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 23:54:04