ModelForm未在数据库中创建新条目

时间:2019-10-31 14:38:49

标签: django python-3.x django-forms django-views

我正在尝试获取表单以将响应保存到数据库,但是当我尝试通过admin部分进行检查时,没有在数据库中创建新条目。当我按下下一步按钮时,页面将按预期方式重新加载,并且没有错误弹出。我删除了db.sqlite3文件,然后重新运行了迁移,但它似乎仍然无法正常工作。其他形式将数据保存到数据库。问题仅在于此表格。

你能告诉我应该做些什么改变吗?

预先感谢

views.py

def qone(request):
    if request.method == "GET":
        global starttime
        starttime = my_timer()
        form.save()
    elif request.method == "POST":
        form = Question1Form(request.POST)
        if form.is_valid():
            global endtime
            endtime = my_timer()
            global timespent1
            timespent1 = "{0} seconds".format(endtime - starttime)
            form.save(commit=True)
    else:
        form = Question1Form()

    form = Question1Form()
    return render(request,'question1.html',{'form':form})

models.py

class Responses(models.Model):
question1 = models.TextField()
question2 = models.TextField()
question3 = models.TextField()
timespent1 = models.TimeField(null=False)

forms.py

class Question1Form(forms.ModelForm):
question1 = forms.CharField()
timespent1 = forms.TimeField(widget=forms.HiddenInput())

class Meta:
    model = Responses
    fields = ('question1','timespent1')

html

    {% extends 'base.html' %}
{% block content %}
{% load staticfiles %}

<div class="container">
  <form method="POST">
    {% csrf_token %}
    {{form.as_p}}
    <input type="Submit" name="" value="Next">

  </form>
</div>
{%endblock%}

1 个答案:

答案 0 :(得分:0)

错误不会出现,因为您在渲染之前重新定义了表单。不要那样做删除倒数第二行。