Django Bootstrap модальная форма обновления не показывает данные

Я создал 2 модала в отдельных html файлах для обработки создания и обновления статуса заявителя. Оба модала срабатывают на одной и той же странице, подробная информация о заявителе, и показывают форму, а форма обновления не отображает данные, хотя нажимаемая кнопка показывает правильную ссылку.

applicant_detail.html

<div class="row mb-1">
    <div class="col">
        <h4>Applicant Status</h4>
    </div>
    <div class="col col-auto">
        <a href="#applicantStatusCreate" class="btn btn-primary text-white float-end" data-bs-toggle="modal">
        Add Applicant Status
        </a>
        {% include 'recruitment/applicant_status_create.html' %}
    </div>
</div>
<!---Applicant Status Start--->
{% for status in applicant_status_detail %}
    <div class="card mb-4">
        <div class="card-body p-4">
            <div class="row">
                <div class="col-xl-5">
                    <h5>{{ status.applicant_status }}</h5>
                    <ul class="personal-info">
                        <li>
                            <div class="title">Status Date</div>
                            <div class="text">{{ status.status_date|date:"M d, Y" }}</div>
                        </li>
                        <li>
                            <div class="title">Rating</div>
                            <div class="text">{{ status.rating }}</div>
                        </li>
                    </ul>
                </div>
                <div class="col-xl-7">
                    <a href="{% url 'recruitment:applicant_status_edit' pk=status.id %}" class="edit-icon float-end" data-bs-toggle="modal" data-bs-target="#applicantStatusUpdate">
                        <i class="fas fa-pencil-alt"></i>
                    </a>
                    {% include 'recruitment/applicant_status_edit.html' %}
                </div>
            </div>
            <div class="row">
                <div class="col-xl-6">
                    <ul class="personal-info">
                        <li>
                            <h6>Notes</h6>
                            <div>{{ status.notes|safe }}</div>
                        </li>
                    </ul>
                </div>
            </div>
        </div>
    </div>
{% endfor %}

applicant_status_create.html

<div class="modal fade" id="applicantStatusCreate" tabindex="-1" role="dialog">
    <div class="modal-dialog modal-dialog-centered">
        <form method="post" action="{% url 'recruitment:applicant_status_create' %}">
            {% csrf_token %}
            {{ form.media }}
            <div class="modal-content">
                <div class="modal-header">
                    <h5 class="modal-title">Add Applicant Status</h5>
                    <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
                </div>
                <div class="modal-body">
                    <div class="row">
                        <div class="col">
                            <div class="mb-2">
                                {{ form.applicant.label }}
                            </div>
                            <div class="mb-2">
                                {{ form.applicant }}
                                {{ form.applicant.errors }}
                            </div>
                <--- code reduced for readability --->
                <div class="modal-footer">
                    <div class="row">
                        <div class="col">
                            <button type="button" class="btn btn-outline-dark" data-bs-dismiss="modal">Cancel</button>
                            <button type="submit" class="btn btn-primary">Add Applicant Status</button>
                        </div>
                    </div>
                </div>
            </div>
        </form>
    </div>
</div>

applicant_status_edit.html

<div class="modal fade" id="applicantStatusUpdate" tabindex="-1" role="dialog">
    <div class="modal-dialog modal-dialog-centered">
        <form enctype="multipart/form-data" method="post" action="{% url 'recruitment:applicant_status_edit' pk=status.id %}">
            {% csrf_token %}
            {{ form.media }}
            <div class="modal-content">
                <div class="modal-header">
                    <h5 class="modal-title">Update Applicant Status</h5>
                    <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
                </div>
                <div class="modal-body">
                    <div class="row">
                        <div class="col">
                            <div class="mb-2">
                                {{ form.applicant.label }}
                            </div>
                            <div class="mb-2">
                                {{ form.applicant }}
                                {{ form.applicant.errors }}
                            </div>
                <--- code reduced for readability --->
                <div class="modal-footer">
                    <div class="row">
                        <div class="col">
                            <button type="button" class="btn btn-outline-dark" data-bs-dismiss="modal">Cancel</button>
                            <button type="submit" class="btn btn-primary">Update Applicant Status</button>
                        </div>
                    </div>
                </div>
            </div>
        </form>
    </div>
</div>

Я использую bootstrap без пользовательского jquery (он загружается в base.html) и форма создания отправляет данные правильно и показывает данные на странице после отправки.

Вот 2 мнения:

class ApplicantStatusCreateView(LoginRequiredMixin, CreateView):

    model = ApplicantStatus
    form_class = ApplicantStatusCreateForm
    template_name = 'recruitment/applicant_status_create.html'

    def get_success_url(self):
        return reverse_lazy('recruitment:applicant_detail', kwargs={'pk': self.object.applicant.id})

class ApplicantStatusUpdateView(LoginRequiredMixin, UpdateView):

    model = ApplicantStatus
    form_class = ApplicantStatusUpdateForm
    template_name = 'recruitment/applicant_status_edit.html'

    def get_success_url(self):
        return reverse_lazy('recruitment:applicant_status_detail', kwargs={'pk': self.object.applicant.id})

Вот 2 формы:

class ApplicantStatusCreateForm(forms.ModelForm):
    notes = forms.CharField(required=False, widget=CKEditorWidget())
    rating = forms.IntegerField(max_value=5, min_value=0, widget=forms.NumberInput(attrs={'class': 'form-control mb-2'}))

    class Meta:
        model = ApplicantStatus
        fields = ['applicant', 'applicant_status', 'status_date', 'rating', 'notes']
        widgets = {
            'applicant': forms.Select(attrs={'class': 'form-select mb-2'}),
            'applicant_status': forms.Select(attrs={'class': 'form-select mb-2'}),
            'status_date': forms.DateInput(attrs={'type': 'date', 'class': 'form-control mb-2'}),
        }


class ApplicantStatusUpdateForm(ApplicantStatusCreateForm):

    def __init__(self, *args, **kwargs):
        super(ApplicantStatusUpdateForm, self).__init__(*args, **kwargs)
        self.fields['applicant'].disabled = True

Как заставить существующие данные отображаться в модальной форме обновления?

Вернуться на верх