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

Django ModelForm提交后数据未存入数据库 表单无法保存数据

问题原因

以下代码错误导致数据未写入数据库:

  • 视图请求判断逻辑错误:if request == 'POST'写法错误,正确判断方式为request.method == 'POST',这是核心问题,你的POST请求触发后完全没有进入保存逻辑分支,直接返回了空表单,所以出现表单清空但无数据存储的现象。
  • 表单保存参数大小写错误:form.save(Commit=False)中的参数Commit需小写,Django规定该参数名为commit,大写会触发参数不识别错误。
  • forms.py缩进错误:class Meta:下的model和fields属性没有缩进,Python为缩进敏感语言,该错误会导致ModelForm未关联到对应模型,表单校验永远失败。
  • 保存成功后缺少重定向:无跳转逻辑时刷新页面会触发重复提交,建议保存后跳转到结果页。
  • 补充优化项:models.py中的__unicode__方法缩进错误,需放在Appear类内部,Django 3.0及以上版本建议替换为__str__方法,避免字符串展示异常。

修复后代码

models.py

from django.db import models


Media_Choices = (
      ("TV", "TV"),
      ("Radio", "Radio"),
      ("Youtube", "Youtube"),
      ("Podcast", "Podcast"),
)

class Appear(models.Model):
    Show = models.CharField(max_length=100)
    Media = models.CharField(max_length=30, blank=True, null=True, choices=Media_Choices)
    Episode = models.IntegerField()
    Date = models.DateField(max_length=100)
    Time = models.TimeField(auto_now=False, auto_now_add=False)
    Producer = models.CharField(max_length=100)
    Producer_Email = models.EmailField(max_length=254)

    def __str__(self):
        return self.Show + ' ' + self.Producer_Email

forms.py

from django import forms
from django.forms import ModelForm
from .models import Appear

class AppsForm(ModelForm):
    class Meta:
        model = Appear
        fields = '__all__'

views.py

from django.shortcuts import redirect, render
from .forms import AppsForm


def AppS(request):
    if request.method == 'POST':
        form = AppsForm(request.POST)
        if form.is_valid():
            Apps = form.save(commit=False)
            Apps.save()
            # 保存成功后跳转到结果页
            return redirect('results')
    else:
        form = AppsForm()
    return render(request, 'AppsForm.html', {'form': form})

def results(request):
    return render(request, 'Results.html')

如果跳转报错,检查你的urls.py中是否给results路由配置了name='results'。


内容的提问来源于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 15:18:03