2017-05-04 13 views
0

データベースのテキストを更新しているが、更新していないフォームがあります。チェックボックスはデータベース内のブールモデル(postgres)で、fはfalse、tは真です。私は他のいくつかのチュートリアルを見て、多目的な選択肢をあまり使わずに使ってみました。Djangoフォームのチェックボックスでデータベースが更新されない

私はジャンゴで自分自身を教えていて、これは私の最初の嘆かわしいアプリですので、事前にお詫びします。ここで

ここ
from django import forms 

from .model import parcels 

class tableedit(forms.ModelForm): 
     class Meta: 
       model = parcels 
       fields = [ 
         "some_number", 
         "boolean_checkbox_1", 
         "boolean_checkbox_2" 

       ] 

があるforms.pyモジュールですmodel.pyここ

from django.db import models 
from django.contrib.postgres.fields import ArrayField 
from django.core.urlresolvers import reverse 


class TableName(models.Model): 
     name = 'table_name' 
     verbose_name = 'table_name' 
     some_number = models.CharField('some_number', max_length=30) 
     boolean_checkbox_1 = models.BooleanField('boolean_checkbox_1 ', max_length =1) 
     boolean_checkbox_2 = models.BooleanField('boolean_checkbox_2', max_length = 1) 
     # Returns the string representation of the model. 
     def __str__(self):    # __unicode__ on Python 2 
       return self.name 

     def get_absolute_url(self): 
       return reverse("table_edit:view", kwargs={"id": self.id}) 
     class Meta: 
       managed = True 
       db_table = 'table' 

でのモデルは、ここに私のviews.py

from django.shortcuts import render, redirect 
from django.http import HttpResponse 
from django.http import HttpResponseRedirect 
from django.core.urlresolvers import reverse 
from django.views.generic import UpdateView,View 
from django.contrib import auth 

from django.views.decorators.csrf import csrf_protect 
from model import tableedit 
from django.contrib.auth.decorators import login_required 
from django import forms 
import simplejson 
from forms import tableedit 

@login_required 
@csrf_protect 
def table_edit(request, p_id = None): 
     data = parcels.objects.get(id = p_id) 
     form = tableedit(request.POST or None, instance = data) 


     if form.is_valid(): 
       instance = form.save(commit = False) 
       instance.save() 
       return HttpResponseRedirect(instance.get_absolute_url()) 

     context = { 
       "some_number" : data.some_number, 
       "boolean_checkbox_1" : data.boolean_checkbox_1, 
       "boolean_checkbox_2" : data.boolean_checkbox_2, 
       "form":form} 

     return render(request, "static/table_edit.html", context) 

ですフォームのtable_edit.htmlファイル

{% if next %} 
    <input type = "hidden" name="next" value= {% url 'table.view' table.id %} \> 
    {% endif %} 
    {{ form.as_p }} 


<form action=next method="post">{% csrf_token %} 

    <input type="submit" value="Update Item" /> 
</form> 

答えて

0

{{ form.as_p }}は、お客様のhtml <form>タグの中にありません。そのフォームからサーバーにデータが送信されることはほとんどありません。

関連する問題