1

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 になります。

何が悪いのかわかりません。他のすべての値は正しく送信されます。

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 に答える