django modelform BooleanField复选框

时间:2012-05-04 21:21:29

标签: django checkbox boolean modelform

我有一个带有BooleanField

的模型

model.py

class Entry(models.Model):
    test = models.BooleanField()

class TestForm(ModelForm):
    class Meta:
        model = Entry

view.py

def registreren(request):
    context = {'form': TestForm()}
    if request.method == "POST":
        form = TestForm(request)
        if form.is_valid():
            form.save()

    context.update(csrf(request))
    return render_to_response("test.html", context)

的test.html

<body>
        <form action="/registreren/" method="post">
                {% csrf_token %}
                {{form}}
                <input type="submit" value="Hit it!" />

        </form>
</body>

当我保存表单时,即使单击表单中的复选框,我也只会得到错误的值。因此,如果在表单中单击了复选框,则所有Entry.test实例都为False。

我不知道出了什么问题。所有其他值都正确发送。

1 个答案:

答案 0 :(得分:3)

您正在将请求对象传递给表单,而不是包含POST数据的request.POST字典对象。

if request.method == "POST":
    form = TestForm(request.POST)
    if form.is_valid():
        form.save()

我以为你说其他领域正在出现?他们不应该!