2012-05-04 15 views
1

私はのBooleanFieldジャンゴ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> 

Iでモデルを持っています私はfを得るだけのフォームを保存する私はフォームのチェックボックスをクリックしても、値をalse。フォームのチェックボックスがクリックされているかどうかにかかわらず、Entry.testのすべてのインスタンスはFalseです。

何が問題になるのかわかりません。その他の値はすべて正しく送信されます。

+0

ビューコードとテンプレートコードを確認する必要があります。残りの値が正しく送信されている場合は、テンプレートコードにエラーがあることを願っています。 –

+0

ビューとテンプレートコードが追加されました。これは本当に簡単なテストコードです。ちなみに、django 1.4 – user1375910

+0

の問題は簡単です:フォームにデータを渡していません...回答を参照してください –

答えて

3

あなたのPOSTデータを含むrequest.POST辞書のようなオブジェクトではなく、要求オブジェクトをフォームに渡しています。

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

他のフィールドが表示されていると思いましたか?彼らはすべきではありません!

+0

ありがとう!どのような愚かな間違い。今それは動作します – user1375910

関連する問題