Обратное для 'post_detail' с аргументами ... не найдено

У меня возникает ошибка NoReverseMatch. уже несколько часов все выглядит нормально, но я так и не смог разобраться. Буду благодарен за любую помощь. спасибо

views.py

from django.http import Http404
from django.shortcuts import get_object_or_404, render

from blog.models import Post

# Create your views here.
def postList(request):
    posts = Post.objects.all()
    return render(request, 'blog/post/list.html',{'posts':posts})
def post_detail(request,year,month,day, post):
    post = get_object_or_404(Post, status = Post.Status.DRAFT, slug = post, publish__year=year, publish__month=month, publish__day=day)
    return render(request, 'blog/post/detail.html', {'post':post} )

urls.py

from django.urls import path
from . import views
app_name = "blog"
urlpatterns = [
    path('', views.postList, name="post_list"),
    path('<int:year>/<int:month>/<int:day>/<slug:post>/', views.post_detail, name="post_detail"),
]

models.py

from django.urls import reverse
from django.utils import timezone
from django.db import models
from django.contrib.auth.models import User
# Create your models here.
class Post(models.Model):
    class Status(models.TextChoices):
        DRAFT = 'DR', 'Draft'
        PUBLISHED = 'PB','Published'
    user = models.ForeignKey(User, on_delete=models.CASCADE, related_name="blog_posts")
    title = models.CharField(max_length=250)
    slug = models.SlugField(max_length=250, unique_for_date='publish')
    body = models.TextField()
    created = models.DateTimeField(auto_now_add=True)
    publish = models.DateTimeField(default=timezone.now)
    status = models.CharField(max_length= 2, choices=Status.choices, default=Status.DRAFT)
    updated = models.DateTimeField(auto_now=True)
    class Meta:
        ordering = ['-publish']
        indexes = [
            models.Index(fields=['-publish']),
        ]
    def __str__(self):
        return self.title
    def get_absolute_url(self):
        return reverse("blog:post_detail", args=[self.publish.year, self.publish.month, self.publish.day, self.slug])

list.html

{% extends "blog/base.html" %}
{% block content %}
    {% for post in posts %}
        <a href="{{ post.get_absolute_url }}">{{post.title}}</a>
        <p>{{post.body|truncatewords:30|linebreaks}}
        <p>{{post.created}}</p>
    {% endfor %}
{% endblock %}

я хотел видеть список постов с заголовком каждого поста в виде ссылки. при нажатии на ссылку я хотел видеть подробности этого поста. похоже, что метод get_absolute_url в модели Post вызывает проблему. я не знаю, какие еще способы решения проблемы. я буду благодарен за любую помощь. спасибо

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