フォームを POST しようとするとエラーが発生しますが、これはあまり意味がありません。
エラー:
MultiValueDictKeyError at /admin/courses/course-selector/add/
"Key 'form-0-id' not found in <QueryDict:
私は自分でフォームを描いているので、グーグルで調べて解決しました(テーブルを作成し、必要な場所に各フィールドを印刷しました)。
そのため、ID を含むフィールドに追加しようとしましたが、印刷されません。フォームに書き込むためのテンプレートにIDがありません。私は今何をすべきかわからないので、グーグルでこのケースに対する確立されたアドバイスをフォローして問題を見つけました。
テンプレートコード。
<form action="." method="POST" id="formset">
<table>
<tr>
{{ formset.management_form }}
</tr>
<tr>
<th></th>
{% for field in formset.forms.0 %}
{% if not field.is_hidden %}
<th>{{ field.label }}</th>
{% endif %}
{% endfor %}
</tr>
{% for f in formset.forms %}
<tr>
<td><input type="checkbox" id="checkbox_{{ f.id }}" /></td>
<td>{{ f.id }}</td>
{% for field in f %}
{% if not field.is_hidden %}
<td>
{{ field.errors }}
{{ field }}
</td>
{% else %}
<td valign="bottom">{{ field }}</
{% endif %}
{% endfor %}
</tr>
{% endfor %}
</table>
</form>
簡潔にするために省略...
{{ f.id }} が何も出力しないのはなぜですか。
フォームセットを生成するコードを edit1 に追加すると、ID を取得できないことが原因である可能性があります。
InstanceFormSet = formset_factory(BulkAddInstanceForm, extra=0)
# build the list for populating the forms
n, datalist = 0, []
while n < int(input_data['copies']):
datalist.append(data)
n +=1
formset = InstanceFormSet(initial=datalist)