@Juvel1988

Где я ошибся в написании функции?

Я новичок в программировании и столкнулся с проблемой, которую не могу понять. При открытии страницы новости по ссылке, выдается следующая ошибка:
entries = el.en_set.order_by('-date_added')
AttributeError: 'function' object has no attribute 'en_set'
. Я понимаю проблему, но не понимаю как ее решить Запутался в собственном коде.

models.py
class News(models.Model):
    title = models.CharField(max_length=250)
    slug = models.SlugField(max_length=50,unique=True)
    author = models.ForeignKey(User,on_delete=models.CASCADE,
    related_name='news_posts', null=True, blank=True)
    anons = models.CharField(max_length=350)
    body = RichTextUploadingField(null=True, blank=True)
    date_added = models.DateTimeField(auto_now_add=True)
    # Возврат понятного отображения заголовка в панель администрирования
    def __str__(self):
        return self.title
    class Meta:
        verbose_name = u"Новость"
        verbose_name_plural = u"Новости"


urls.py
path(r'new/<el_id>', views.el, name='el')

views.py
def el(request, el_id): #Вывод отдельной новости
    article = News.objects.get(id=el_id)
    entries = el.en_set.order_by('-date_added')
    context = {'el':el, 'entries': entries}
    return render(request, 'prosvet_logs/article.html', context)


article.html
-генерируемая страница

{% extends "prosvet_logs/base.html" %}
{% block content %}

<div class="article">
    <h2>{{ el }}</h2>
    {% if new %}
        {% for el in new %}
        <p>{{ new.date_added|date:'M d, Y H:i' }}</p>
        <p>{{ new.body|linebreaks }}</p>
        {% endfor %}
    {% else %}
    <p>Новостей нет</p>
    {% endif %}

</div>
{% endblock content}
  • Вопрос задан
  • 71 просмотр
Решения вопроса 1
@galaxy
Так el - это функция def el(request, el_id):
Может, вместо el нужно article? (код не полностью приведен, точнее не скажу)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы