Почему мой просмотр удаления удаляет только последнюю запись?

Я пытаюсь заставить представление delete_entry удалить нужную запись, однако, какую бы кнопку delete я ни нажимал, она ссылается на один и тот же item_id. Я изменил представление так, что оно печатает удаляемую запись, а не удаляет ее, и какую бы кнопку я ни выбрал из списка, она выбирает одну и ту же запись.

Есть ли что-то в моем представлении, что не работает? Моя функциональность редактирования работает как ожидалось, так что стоит ли просто изменить delete_entry, чтобы он работал так же, как EditHealth?

Health_hub_history.html:

                {% for item in stats %}
                <tr>
                    <td>{{ item.user }}</td>
                    <td>{{ item.weight }} </td>
                    <td>{{ item.date }}</td>
                    <td>{{ item.run_distance }}</td>
                    <td>{{ item.run_time }}</td>
                    <!-- Button trigger modal -->
                    <td>
                        <a href="edit/{{ item.id }}"><button type="button" class="btn btn-primary">
                            Edit
                        </button>
                    </a>
                    </td>
                    <td>
                        <button type="button" class="btn btn-danger" data-bs-toggle="modal"
                            data-bs-target="#staticBackdrop">
                            Delete
                        </button>
                    </td>
                    <!-- Modal -->
                    <div class="modal fade" id="staticBackdrop" data-bs-backdrop="static" data-bs-keyboard="false"
                        tabindex="-1" aria-labelledby="staticBackdropLabel" aria-hidden="true">
                        <div class="modal-dialog">
                            <div class="modal-content">
                                <div class="modal-header">
                                    <h5 class="modal-title" id="staticBackdropLabel">Are you sure you want to delete
                                        this entry?</h5>
                                    <button type="button" class="btn-close" data-bs-dismiss="modal"
                                        aria-label="Close"></button>
                                </div>
                                <div class="modal-body">
                                    If you just need to amend something, try the edit button.
                                </div>
                                <div class="modal-footer">
                                    <button type="button" class="btn btn-secondary"
                                        data-bs-dismiss="modal">Cancel</button>
                                    <a href="delete/{{ item.id }}"><button class="btn btn-danger">I'm
                                            sure</button></a>
                                </div>
                            </div>
                        </div>
                    </div>
                </tr>
                {% endfor %}

Views.py:

def delete_entry(request, item_id):
    entry = get_object_or_404(HealthStats, id=item_id)
    print(entry)
    # entry.delete()
    return redirect("HealthHub:health_hub_history")

class EditHealth(UpdateView):
    model = HealthStats
    template_name = 'health_hub_edit.html'
    fields = ['weight', 'run_distance', 'run_time']

Urls.py:

urlpatterns = [
    path('', views.home, name='home'),
    path('MyHealth/', views.health_hub, name='health_hub'),
    path('MyHealth/update', views.UpdateHealth.as_view(), name='health_hub_update'),
    path('MyHealth/history', views.health_history, name='health_hub_history'),
    path('favicon.ico', RedirectView.as_view(url=staticfiles_storage.url("favicon.ico"))),
    path('MyHealth/delete/<item_id>', views.delete_entry, name='health_hub_delete'),
    path('MyHealth/edit/<int:pk>', views.EditHealth.as_view(), name='health_hub_edit'),
]

Любая помощь будет принята с благодарностью!

Ваша проблема заключается в id для staticBackdrop в DOM, там не должно быть одинаковых id. Вам просто нужно добавить что-то к id:

<td>
                    <button type="button" class="btn btn-danger" data-bs-toggle="modal"
                        data-bs-target="#staticBackdrop_{{item.id}}">
                        Delete
                    </button>
                </td>
                <!-- Modal -->
                <div class="modal fade" id="staticBackdrop_{{item.id}}" data-bs-backdrop="static" data-bs-keyboard="false"
                    tabindex="-1" aria-labelledby="staticBackdropLabel" aria-hidden="true">
                    <div class="modal-dialog">
                        <div class="modal-content">
                            <div class="modal-header">
                                <h5 class="modal-title" id="staticBackdropLabel">Are you sure you want to delete
                                    this entry?</h5>
                                <button type="button" class="btn-close" data-bs-dismiss="modal"
                                    aria-label="Close"></button>
                            </div>
                            <div class="modal-body">
                                If you just need to amend something, try the edit button.
                            </div>
                            <div class="modal-footer">
                                <button type="button" class="btn btn-secondary"
                                    data-bs-dismiss="modal">Cancel</button>
                                <a href="delete/{{ item.id }}"><button class="btn btn-danger">I'm
                                        sure</button></a>
                            </div>
                        </div>
                    </div>
                </div>

Я добавил item.id к id модала. Это предотвратит множественные одинаковые идентификаторы в DOM.

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