Django模型表单集预填充值问题

Django模型表单集预填充值问题,django,forms,django-forms,Django,Forms,Django Forms,我正在尝试将模型表单集与Django一起使用。当我加载表单模板时,我看到它被以前的值填满了。是否有缓存机制我应该停止,或者什么 感谢您的帮助,以下是我的代码: models.py class FooModel( models.Model ): a_field = models.FloatField() b_field = models.FloatField() def __unicode__( self ): return self.a

我正在尝试将模型表单集与Django一起使用。当我加载表单模板时,我看到它被以前的值填满了。是否有缓存机制我应该停止,或者什么

感谢您的帮助,以下是我的代码:

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>

{%csrf_令牌%}
{formset.forms%%中表单的%
{{form.a_field}}
{{form.b_field}}
{%endfor%}
{{formset.management_form}

这里的主要问题是:

formset = FooFormSet(prefix='foo_prefix')
实例化FooFormSet()时,用于生成表单的
queryset
默认为:

因此,如果您的数据库中已经有一些FooModel(),它们将被列出。在这种情况下,您可以使用:

formset = FooFormSet(prefix='foo_prefix', queryset=FooModel.objects.none())
您可以在Django的文档中看到有关这方面的更多信息:


它是否充满了以前的值?就像你在表格中输入的最后一项一样?对于您编写的代码,它绝对不应该这样做。您正在从头开始初始化表单--没有数据。您能否提供有关显示哪些值的更多详细信息?你可以尝试加入never_缓存装饰器,但这太奇怪了。
formset = FooFormSet(prefix='foo_prefix', queryset=FooModel.objects.none())