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>