Django: проблема с get_absolute_url

Я уже некоторое время бьюсь над этой проблемой... У меня есть модель с двумя классами, и в обоих классах есть функция get_absolute_url, но каждый раз, когда я пытаюсь использовать эту функцию, я получаю один и тот же ответ.

models.py

from django.db import models
from django.contrib.auth import get_user_model
from django.urls import reverse

# Create your models here.
class Listing(models.Model):
    
    info = models.CharField(max_length = 200)

    def __str__(self):
        return self.info

    def get_absolute_url(self):
        return reverse('listing_detail', args = [str(self.id)])

class Application(models.Model):

    listing = models.ForeignKey(
        Listing,
        on_delete = models.CASCADE,
        related_name = 'applications',
    )

    comment = models.TextField(max_length = 2500)

    def __str__(self):
        return self.comment

    def get_absolute_url(self):
        return reverse('applications', args = [str(self.id)])

urls.py

from django.urls import path
from .views import ListingListView, ListingDetailView, ListingApplicationView

urlpatterns = [
    path('', ListingListView.as_view(), name = 'listing_list'),
    path('<int:pk>/', ListingDetailView.as_view(), name = 'listing_detail'),
    path('<int:pk>/applications/', ListingApplicationView.as_view(), name = 'applications')
]

views.py

from django.shortcuts import render
from django.views.generic import ListView, DetailView
from .models import Listing, Application

# Create your views here.
class ListingListView(ListView):

    model = Listing
    template_name = 'listing/listing_list.html'
    context_object_name = 'listing_list'

class ListingDetailView(DetailView):
    
    model = Listing
    template_name = 'listing/listing_detail.html'
    context_object_name = 'listing_detail'

class ListingApplicationView(ListView):

    model = Application
    template_name = 'listing/applications.html'
    context_object_name = 'applications'

templates

<h2><a href="{{ listing.get_absolute_url }}">{{ listing.address1 }}</a></h2>
<p><a href = "{{ applications.get_absolute_url }}">Applications</a></p>

Независимо от того, нажимаю ли я на первую строку HTML выше или на вторую, мой ответ консоли таков:

"GET /listing/1/ HTTP/1.1"

Я очень ценю помощь здесь! Я уже несколько часов бьюсь с функцией get_absolute_url и думаю, что делаю все правильно, но, очевидно, что-то упускаю.

Спасибо!

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