我有一个带有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。
我不知道出了什么问题。所有其他值都正确发送。
答案 0 :(得分:3)
您正在将请求对象传递给表单,而不是包含POST数据的request.POST字典对象。
if request.method == "POST":
form = TestForm(request.POST)
if form.is_valid():
form.save()
我以为你说其他领域正在出现?他们不应该!