Прежний объект ManytoMany не добавляется

Я хочу добавить нового пассажира в рейс, и я использую модели для хранения этого. Но вместо этого, после того как я отправил форму, она абсолютно не изменилась, за исключением неожиданного изменения URL: с localhost:8000/flights/5 на localhost:8000/flights/5/book. before после

def book(request, flight_id):
    if request.method == "POST":
        flight = Flight.objects.get(pk=flight_id)
        passenger = Passenger.objects.get(pk=int(request.POST["passenger"]))
        passenger.flights.add(flight)
        return HttpResponseRedirect(reverse("flight", args=(flight.id,)))
class Passenger(models.Model):
    first = models.CharField(max_length=64)
    last = models.CharField(max_length=64)
    flights = models.ManyToManyField(Flight, blank=True, related_name="passengers")

Flight - это другой класс, кстати. А вот и мои url-шаблоны:

urlpatterns = [
    path("", views.index, name="index"),
    path("<int:flight_id>", views.flight, name="flight"),
    path("<int:flight_id>/book", views.flight, name="book")
]

Есть идеи, почему он работает неправильно?

Любая помощь будет очень признательна. Большое спасибо!

обновление views.flight для views.book

urlpatterns = [
    path("", views.index, name="index"),
    path("<int:flight_id>", views.flight, name="flight"),
    path("<int:flight_id>/book", views.book, name="book")
]

Вам необходимо обновить urlpatterns, чтобы включить views.book:

urlpatterns = [
    path("", views.index, name="index"),
    path("<int:flight_id>", views.flight, name="flight"),
    path("<int:flight_id>/book", views.book, name="book")
]
Вернуться на верх