データ作成のための AJAX 呼び出しで Django 生成フォームを使用しようとしています。単純な ModelForm が機能しているだけですが、それに inlineformset を追加すると、いくつかの非表示の id フィールドにどの値を入力する必要があるか分からなくなります。すべての送信は新しいインスタンスを作成しています。住所のある学校の場合、保存ビューにこれがあります:
... get school logic here ...
if school_form.is_valid():
school = school_form.save(commit=False)
address_formset = AddressFormSet(request.POST, instance=school)
if address_formset.is_valid():
school_form.save()
address_formset.save()
... redirection logic here ...
これは、フォームにデータを入力する JS です。#id_address_set-0-school
と#id_address_set-0-id
は、2 つの Django 生成フィールドです。
$('a[name^="editSchool"]').click( function(e) {
e.preventDefault();
$.ajax({
url: '/schooljson/' + this.getAttribute('schoolid') + '/'
}).done( function(data) {
$('#id_school_code').val(data.school_code);
$('#id_full_name').val(data.school_name);
$('#id_student_count').val(data.school_students);
$('#id_school_pk').val(data.school_pk);
$('#id_address_set-0-address_line_1').val(data.address_line_1);
$('#id_address_set-0-address_city').val(data.address_city);
$('#id_address_set-0-address_state').val(data.address_state);
$('#id_address_set-0-address_zip').val(data.address_zip);
$('#id_address_set-0-school').attr('value', data.school_pk);
$('#id_address_set-0-id').attr('value', data.address_pk);
$('#addSchoolModal').modal('show');
});
私がそこに置くべきアイデアはありますか?