Django模型Formsets和命名网址

时间:2011-05-04 11:24:44

标签: python django django-forms

我在django中遇到了模型表单集的问题。

# forms.py
OppFormSet = modelformset_factory(Opportunity, fields=opp_fields)

# views.py

def index2(request):
    queryset = Opportunity.objects.for_user(request.user).filter(is_deleted=False)

    if request.method == 'POST':
        formset = OppFormSet(request.POST, queryset=queryset)

    else:
        formset = OppFormSet(queryset=queryset)

    return render_to_response("opp_index2.tmpl", { "formset" : formset}, context_instance=RequestContext(request))

以下是关于模型形式的2个问题:

  1. 在我的模板中,我有{%for form in formset%}来创建表格中的表单,但不知何故,我不断得到一个额外的空白行,就像在formset中有一个额外的空白表单一样。

  2. 如果我在迭代formset时使用{{form.instance.id}}输出id,则打印出ok。但是,如果我执行{%url summary form.instance.id%},我会在没有带参数的NoReverseMatch(None,)时收到错误。似乎在模板标记中使用form.instance.id时,它不起作用。真的吗?如果是这样,我该如何规避呢?

  3. 提前谢谢。

1 个答案:

答案 0 :(得分:1)

使用{% for form in formset.forms %}此“空白表单”为ManagementForm