2017-03-25 8 views
0

私はdjangoの完全な初心者です。モデルでクラス再テストのis_hod booleanフィールドを作成したいと思います。詳細ページでsubmitを押すとtrueです。どのようにすることができますか?djangoのsubmitボタンでbooleanfieldをtrueにすることができません

details.html

<form action="{% url 'retest:accept' retest.id %} " method="post"> 
{% csrf_token %} 
<input type="submit" value="Submit" /> 
</form> 

urls.py

url(r'^retest/(?P<retest_id>[0-9]+)/accept$' , views.accept, name='accept') 

views.py

def accept(request, retest_id): 
    retest = get_object_or_404(Retest, pk=retest_id) 
    try: 
     selected_retest = Retest.objects.get(pk=request.POST[retest_id]) 
    except (KeyError, Retest.DoesNotExist): 
     return render(request, 'retest/details.html' , {'retest': retest, 'error_message': "error",}) 
    else: 
     selected_retest.is_hod = True 
     selected_retest.save() 
    return render(request, 'retest/details.html' , {'retest': retest}) 
+0

IDはrequest.POST' 'に存在していない - あなたがすべき'retest_id'引数を直接使用してください。 –

答えて

0
# views.py 

def accept(request, retest_id): 
    retest = get_object_or_404(Retest, pk=retest_id) 
    # update is_hod attribute only if the request is a POST. 
    if request.method == 'POST': 
     retest.is_hod = True 
     retest.save(update_fields=['is_hod']) 
return render(request, 'retest/details.html' , {'retest': retest}) 
関連する問題