python - Django 模型表单集和命名 url

标签 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))

这是我关于模型表单的两个问题:

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

  2. 如果我在迭代表单集时使用 {{ form.instance.id }} 输出 id,则打印结果正常。但是,如果我执行 {% url Summary form.instance.id %} 我不断收到有关 no NoReverseMatch with argument (None,) 的错误。似乎在模板标签中使用 form.instance.id 时,它不起作用。真的吗?如果是这样,我该如何规避它?

提前谢谢您。

最佳答案

使用{% for form in formset.forms %} 这个“空白表单”是ManagementForm

关于python - Django 模型表单集和命名 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5882585/

相关文章:

python - 如何在 C++ 中使用 CPR 库?

python +玛雅用户界面?按钮在别人后面

模拟 TCP 套接字以进行单元测试的 Python 方法

python - 在类 : TypeError: 'module' object is not callable 中定义 Enum 时出错

django - 如何为 Django 应用程序编写 Groovy Jenkinsfile 来运行我的测试?

django - 使用 RadioSelect 小部件自定义 Django 表单

django - 如何访问相关对象的字段

javascript - Django、Javascript、JSON 和 Unicode

django - Django 中的自定义表单集模板

由查询集填充的 Django 选择字段 - 保存 id 但显示值