Проблема с добавлением новых моделей категорий и поиском постов с их помощью

Добрый день! У меня есть django приложение, на главной (индексной) странице у меня есть посты, и есть сайдбар В сайдбаре есть код для показа и поиска постов в конкретной категории, (я скопировал его из учебника, а учитель не показал как с этим работать), сейчас есть только 1 категория, которая успешно работает (называется просто "категория"), мне нужно добавить 2 новые модели категорий, с той же функциональностью, но с другими моделями (дата публикации и университет)

здесь базовый html (боковая панель с функциональностью здесь)

здесь индекс html

{% extends 'women/base.html' %}

{% block content %}
<ul class="list-articles">
    {% for p in posts %}
        <li>
            <div class="article-panel">
                <p class="first">Категория: {{p.cat}}</p>
                <p class="last">Дата: {{p.time_update|date:"d-m-Y H:i:s"}}</p>
            </div>
            <div class="article-panel">
                <p class="first">Университет: {{p.univercity}}</p>

            </div>
            <h2>{{p.title}}</h2>
            {% autoescape on %}
                {{p.content|linebreaks|truncatewords:50}}
            {% endautoescape %}
            <div class="clear"></div>
            <p class="link-read-post"><a href="{{ p.get_absolute_url }}">Читать пост</a></p>
        </li>
    {% endfor %}
</ul>
{% endblock %}

здесь модели py (univercity и Yearp - копии Category)

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


class Women(models.Model):
    id = models.AutoField(primary_key=True)
    title = models.CharField(max_length=255, verbose_name="Название объявления")
    content = models.TextField(blank=True, verbose_name="Текст объявления")
    contact = models.CharField(max_length=255, verbose_name="Контакты для связи)")
    time_create = models.DateTimeField(auto_now_add=True, verbose_name="Время создания")
    cat = models.ForeignKey('Category', on_delete=models.PROTECT, verbose_name="Категории")
    university = models.ForeignKey('University', on_delete=models.PROTECT, verbose_name="Университет")
    yearp = models.ForeignKey('Yearp', on_delete=models.PROTECT, verbose_name="Год публикации")
    author = models.ForeignKey(User, on_delete=models.CASCADE)


    def __str__(self):
        return self.title


    class Meta:
        verbose_name = 'Обьявления'
        verbose_name_plural = 'Обьявления'
        ordering = ['id']

    def get_absolute_url(self):
        return reverse('post', args=(str(self.id)))
#####################################################################

class Category(models.Model):
    name = models.CharField(max_length=100, db_index=True, verbose_name="Категория")
    slug = models.SlugField(max_length=255, unique=True, db_index=True, verbose_name="URL")

    def __str__(self):
        return self.name

    def get_absolute_url(self):
        return reverse('category', kwargs={'cat_slug': self.slug})

    class Meta:
        verbose_name = 'Категория'
        verbose_name_plural = 'Категории'
        ordering = ['id']
####################################################################

class University(models.Model):
    name = models.CharField(max_length=100, db_index=True, verbose_name="Университет")
    slug = models.SlugField(max_length=255, unique=True, db_index=True, verbose_name="URL")

    def __str__(self):
        return self.name

    def get_absolute_url(self):
        return reverse('university', kwargs={'university_slug': self.slug})

    class Meta:
        verbose_name = 'Университет'
        verbose_name_plural = 'Университет'
        ordering = ['id']

class Yearp(models.Model):
    name = models.CharField(max_length=100, db_index=True, verbose_name="Год публикации")
    slug = models.SlugField(max_length=255, unique=True, db_index=True, verbose_name="URL")

    def __str__(self):
        return self.name

    def get_absolute_url(self):
        return reverse('yearp', kwargs={'yearp_slug': self.slug})

    class Meta:
        verbose_name = 'Год публикации'
        verbose_name_plural = 'Год публикации'
        ordering = ['id']

здесь есть урлы

urlpatterns = [
    path('', WomenHome.as_view(), name='home'),
    path('personal', PersonalPage.as_view(), name='personal'),
    path('about/', about, name='about'),
    path('addpage/', AddPostView.as_view(), name='add_page'),
    path('contact/', ContactFormView.as_view(), name='contact'),
    path('login/', LoginUser.as_view(), name='login'),
    path('logout/', logout_user, name='logout'),
    path('register/', RegisterUser.as_view(), name='register'),
    path('post/<int:pk>/', ShowPost.as_view(), name='post'),
    path('category/<slug:cat_slug>/', WomenCategory.as_view(), name='category'),

]

здесь list_categories.html

{% for c in cats %}
    {% if c.pk == cat_selected %}
        <li class="selected">{{c.name}}</li>
    {% else %}
        <li><a href="{{ c.get_absolute_url }}">{{c.name}}</a></li>
    {% endif %}
{% endfor %}

Я попытался просто скопировать все эти поля, но когда я закончил, это не сработало Я буду очень благодарен тому, кто сможет помочь с этим

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