Я новичок в Django и создал простое приложение, которое включает в себя сообщения.Я хочу отображать сообщения, связанные с определенными категориями, на одной странице.Я провел немало исследований в Интернете, но не могу заставить его работать.Я думаю, что проблема в моем views.py
Я думаю, что-то не так с функцией get_queryset в CategoryListView.
'''
models.py
'''
from django.db import models
class Post(models.Model):
title = models.CharField(max_length=100)
content = models.TextField()
date = models.DateTimeField(default=timezone.now)
author = models.ForeignKey(User, on_delete=models.CASCADE)
category = models.ForeignKey(
'Category',
on_delete=models.SET_NULL,
null=True)
def __str__(self):
return self.title
def get_absolute_url(self):
return reverse('post-detail', kwargs={'pk': self.pk})
class Category(models.Model):
name = models.CharField(max_length=100)
slug = models.SlugField(max_length=150, unique=True)
def __str__(self):
return self.name
def get_absolute_url(self):
return reverse('post-category', kwargs={'pk': self.pk})
'''
views.py
'''
from django.views.generic import ListView
from .models import Post, Category
class CategoryListView(ListView):
model = Post
template_name = 'posts/post_category.html'
def get_queryset(self):
category = get_object_or_404(Category, id=self.kwargs.get('category__name'))
return Posts.objects.filter(category_name=category)
'''
urls.py
'''
from .views import CategoryListView
urlpatterns = [
# urlpatterns for other pages left out for better readability
CategoryListView.as_view(), name='post-category')
]
Код дает мне 404 и сообщение, что ни одна категория не соответствуетмой запрос.