Это, вероятно, очень просто, но я не знаю достаточно Python, чтобы узнать, какое решение для поиска. У меня есть большая база данных записей, которые мне нужно запросить, а затем фильтровать по годам и дням недели. Ниже мой код. Спасибо за помощь.Фильтрация Django Query по дате
Посмотреть
totals = Traffic.objects.all().aggregate(Sum('sessions'), Sum('new_users'), Sum('reminder'), Sum('campaigns'), Sum('new_sales'), Sum('sales_renewals'))
total_sessions_2014_m = totals.get('sessions__sum').filter(created__year=2014, created__day="Monday") {# My attempt to filter #}
Шаблон
{{ total_sessions_2014_m }}
Я использую DateField для моей created
модели объекта.
Я получаю сообщение об ошибке в браузере - «INT» объект не имеет атрибута «фильтр»
Там ошибка говорит все это, но я просто не могу обернуть свой ум вокруг него.
Я предполагаю, что вы пытаетесь отфильтровать одну сумму, попробуйте фильтровать до того, как вы суммируете – Bahrom
Я пытался унаследовать от совокупности итогов, но решил покататься на скамейке. Я смог получить фильтрацию, работающую в течение года, как этот 'total_sessions_2014_m = Traffic.objects.filter (created__year = 2014) .aggregate (Sum ('sessions'))', но когда я добавляю 'created__day =" Monday "' Я получаю ошибку неверный литерал для int() с базой 10: «понедельник» в браузере. Я предполагаю, потому что мне нужно преобразовать день в строку с 'strftime ("% A ")', но это только я догадываюсь. –