说我有一个我要传递给模板的formset。每个表单都有一个category
字段,我想对其进行排序。这是我到目前为止的代码:
...
{% regroup formset by category as category_formset %}
<ul>
{% for category in category_formset %}
<li>{{ category.grouper }}
<ul>
{% for form in category.list %}
<li>{{ form.name.value }}</li>
{% endfor %}
</ul>
</li>
{% endfor %}
</ul>
...
问题是输出如下:
也就是说,按照正确的顺序,但实际上并没有整理。我已经看过“gotcha”here并尝试添加{% regroup|dictsort:"category" ... %}
,但这没有帮助。有任何想法吗?或者表格集上根本不支持{% regroup %}
?
更新:如果我使用{% regroup formset by category.value ... %}
,我可以让它正确整理类别,但它只会显示整数(因为category
是ForeignKey
领域)。根据{{3}},应该可以使用{% regroup formset by get_category_display ... %}
对字符串进行分类,然后regroup
只返回None
。
答案 0 :(得分:4)
所以我最终确实让它发挥作用。诀窍是使用{% regroup formset by instance.category as category_list %}
,它将显示明文类别名称并正确整理条目。