Tenho um formset do Django que gostaria de gerar como uma linha de tabela por formulário aninhado, assim:
<form>
{{ feature_formset.management_form }}
<table>
{% for form in feature_formset %}
<tr>
{% for field in form %}
<td>{{ field.name }} {{ field }}</td>
{% endfor %}
</tr>
</table>
{% endfor %}
</form>
Entretanto, de alguma forma (eu acho) a renderização automática do campo fica confusa com o table
wrapper.
O que eu esperaria seria uma saída como:
<form>
...
<table>
<tr>
<td>id: <input ...></td>
<td>name: <input ...></td>
<td>foobar: <input ...></td>
</tr>
<tr>
<td>id: <input ...></td>
<td>name: <input ...></td>
<td>foobar: <input ...></td>
</tr>
<tr>
<td>id: <input ...></td>
<td>name: <input ...></td>
<td>foobar: <input ...></td>
</tr>
</table>
{% endfor %}
</form>
No entanto, o que estou recebendo é uma linha de formulário para o primeiro formulário do conjunto de formulários, e os demais formulários apenas descartam os campos. De alguma forma, a {% for field in form %}
iteração não é feita corretamente, e acho que os campos restantes são descartados:
<form>
...
<table>
<tr>
<td>id: <input ...></td>
<td>name: <input ...></td>
<td>foobar: <input ...></td>
</tr>
id: <input ...>
name: <input ...>
foobar: <input ...>
id: <input ...>
name: <input ...>
foobar: <input ...>
</table>
{% endfor %}
</form>
Alguma dica sobre o motivo pelo qual essa renderização personalizada dos formulários/campos aninhados não está funcionando como esperado?