У меня есть шаблонное представление в Django2.2, где я добавил две модели и запросы для поиска метрик пользовательских данных (сколько статей они читают в месяц).
Я столкнулся со странной проблемой, когда при размещении на странице нескольких переменных контекста каждая переменная на странице, кроме первой переменной, возвращает «0». Если я просто изменяю порядок переменных в разметке, каждая функция даты, кажется, вычисляет правильно (пока она появляется первой). Я не смог найти что-либо об этом в документации ... и я предполагаю, что это не очень хороший способ для отображения этой информации, и вместо этого я должен использовать DjangoTemplateTag и выполнять там операции.
* Определить объект и запрос
def get_context_data(self, **kwargs):
context = super(userDashBoardView, self).get_context_data(**kwargs)
context['readArticleList'] = Articles.objects.filter(Unread = False,userId = self.request.user.SFPK )
* Чтобы избежать дальнейших запросов, я преобразовал запрос в набор для выполнения дополнительных функций
article_list = set(context['readArticleList'])
article_read_date = (article_list.read_date for article_list in article_list)
context['articles_last30'] = len(set(x for x in article_read_date if x > timezone.now() - timedelta(days=30)))
context['articles_last60'] = len(set(x for x in article_read_date if x > timezone.now() - timedelta(days=60)))
context['articles_last90'] = len(set(x for x in article_read_date if x > timezone.now() - timedelta(days=90)))
return context
{% block content %}
{{articles_last30}}
{{articles_last60}}
{{articles_last90}}
{% endblock %}
<br/>
Для контекста, контекста, контекста в примере выше * с использованием примеров данных
вывод на страницу (4,0,0)
Если заказ отменен, я получаю
(20,0,0)
ПРИМЕЧАНИЕ. Я НЕ получаю никаких ошибок в консоли, и страницы загружаются нормально. Кто-нибудь может указать мне правильное направление?
-Спасибо за потраченное время =)