Ошибка модуль не имеет атрибута entry_set. (DJANGO)
Я создаю сайт в котором пользователи могут писать и просматривать свои записи. На главной страницы находятся темы при переходе на них должен открыться динамический url с записями к этой теме. Но при переходе на любую запись мне выдаётся ошибка - type object 'Description' has no attribute 'entry_set'.
views.py
from django.shortcuts import render
from .models import Topic, Description
def index(request):
topic = Topic.objects.all
context = {'topic': topic}
return render(request, 'Menu/Menu.html', context)
def description(request, topic_id):
topic = Topic.objects.get(id=topic_id)
description = Description.entry_set.all
context = {'description': description, 'topic': topic}
return render(request, 'Menu/Description.html', context)
Menu.html
{% extends 'menu/Base.html' %}
{% block base %}
{% for el in topic %}
<div style="border:3px solid black; width:700px; margin-left:600px; margin-top:20px; font-size:40px">
<a href="{% url 'description' el.id %}"><center>{{el}}</center></a>
</div >
{% empty %}
<p style="font-size:40px; margin-top:20px; text-indent:15px">Страница для ваших заметок :)</p>
<a href="{% url 'menu' %}" style="font-size:30px; font-weight:bold"> Новая запись</a>
{% endfor %}
{% endblock %}
urls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='menu'),
path('<int:topic_id>/', views.description, name='description'),
]
Description.html
{% extends 'menu/Base.html' %}
{% block base %}
{% endblock %}
models.py
from django.db import models
class Topic(models.Model):
text = models.CharField(max_length=100)
def __str__(self):
return self.text
class Description(models.Model):
topic = models.ForeignKey(Topic, on_delete=models.CASCADE)
text = models.TextField()
date_added = models.DateTimeField(auto_now_add=True)
class Meta:
verbose_name_plural = 'Descriptions'
def __str__(self):
if len(self.text) > 10:
return f'{self.text[:10]}...'
else:
return self.text
Проблема решена. Я просто заменил строку
description = Description.entry_set.all
в views.py под имя моего модуля description = topic.description_set.all
.
Так как я делал по книге я не понял что entry_set
это не одна функция.