1

我有一个带有 BooleanField 的模型

模型.py

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

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

视图.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)

测试.html

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

        </form>
</body>

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

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

4

1 回答 1

3

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

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

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

于 2012-05-05T00:38:12.500 回答