2
我试图用Django使用模型formsets。当我加载表单模板时,我发现它已经填满了以前的值。有我应该停止的缓存机制,或者是什么?Django模型Formset预填充值问题
感谢您的帮助,这是我的代码:
models.py
class FooModel(models.Model):
a_field = models.FloatField()
b_field = models.FloatField()
def __unicode__(self):
return self.a_field
forms.py
from django.forms.models import modelformset_factory
FooFormSet = modelformset_factory(FooModel)
views.py
def foo_func(request):
if request.method == 'POST':
formset = FooFormSet(request.POST, request.FILES, prefix='foo_prefix')
if formset.is_valid():
formset.save()
return HttpResponseRedirect('/true/')
else:
return HttpResponseRedirect('/false/')
else:
formset = FooFormSet(prefix='foo_prefix')
variables = RequestContext(request , { 'formset':formset , })
return render_to_response('footemplate.html' , variables)
模板:
<form method="post" action=".">
{% csrf_token %}
<input type="submit" value="Submit" />
<table id="FormsetTable" border="0" cellpadding="0" cellspacing="0">
<tbody>
{% for form in formset.forms %}
<tr>
<td>{{ form.a_field }}</td>
<td>{{ form.b_field }}</td>
</tr>
{% endfor %}
</tbody>
</table>
{{ formset.management_form }}
</form>
它充满了以前的值?像你输入表单的最后一项?它绝对不应该用你写的代码来做。你从头开始初始化表单 - 没有数据。你能提供更多关于什么值出现的细节吗?你总是可以尝试抛出never_cache装饰器,但这太奇怪了。 – 2010-12-23 20:15:35