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

Django应用添加联系人触发IntegrityError:message字段非空约束违规

解决Django应急通知系统添加联系人时的message非空约束错误

1. 检查HTML表单的textarea标签

核心要确保textarea的name属性与后端接收的字段名完全匹配:

  • 必须给textarea设置正确的name="message"属性,示例代码:
<textarea name="message" rows="4" cols="50" required></textarea>
  • 注意不要拼写错误(比如写成msg或messages),遗漏name属性会导致表单提交时该字段不被发送到后端。
  • 加上required属性可在前端拦截空值提交,提前避免错误。

2. 验证视图函数的字段接收逻辑

检查add_contact视图中是否正确获取POST请求里的message值:

  • 确认代码中是request.POST.get('message')或request.POST['message'],字段名要和textarea的name严格一致。
  • 如果使用Django表单类(Form/ModelForm),需确保表单类包含message字段,且视图中正确实例化表单并传递POST数据。

3. 确认模型字段的非空设置

检查对应模型(如Contact)的message字段定义:

  • 如果模型中是message = models.TextField(null=False, blank=False),说明业务要求该字段非空,无需修改模型,重点排查前两步即可;若业务允许空值,可改为blank=True。

额外排查点

  • 打开浏览器开发者工具的Network面板,查看提交的Form Data中是否包含message字段及对应值,若不存在则是前端表单问题。
  • 避免给textarea设置disabled属性,禁用字段不会被提交;若需只读,改用readonly属性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 08:42:32