我怎么知道我在处理formset中的额外(空)表单?

时间:2012-09-19 21:07:54

标签: django django-forms

deals_formset_factory = modelformset_factory(Deal, form=DealForm, extra=1)   
formset = deals_formset_factory(queryset=query, prefix='deals')  


{% for fs in formset.forms %}
    {{ fs.id }}                     
{% endfor %}

在遍历formset的形式时,是否可以找出哪个表单包含实例数据,哪个表单是额外的,因此是空的?

1 个答案:

答案 0 :(得分:0)

您可以检查表单实例是否具有主键。如果是,则它存在于数据库中。如果没有,那么这是一个额外的形式。

未经测试的代码:

{% for form in formset.forms %}
    {% if form.instance.pk %}
    Form instance is saved in db
    {% else %}
    New instance
    {% endif %}                 
{% endfor %}