2016-03-23 2 views
0

Это, вероятно, очень просто, но я не знаю достаточно 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» объект не имеет атрибута «фильтр»

Там ошибка говорит все это, но я просто не могу обернуть свой ум вокруг него.

+0

Я предполагаю, что вы пытаетесь отфильтровать одну сумму, попробуйте фильтровать до того, как вы суммируете – Bahrom

+0

Я пытался унаследовать от совокупности итогов, но решил покататься на скамейке. Я смог получить фильтрацию, работающую в течение года, как этот 'total_sessions_2014_m = Traffic.objects.filter (created__year = 2014) .aggregate (Sum ('sessions'))', но когда я добавляю 'created__day =" Monday "' Я получаю ошибку неверный литерал для int() с базой 10: «понедельник» в браузере. Я предполагаю, потому что мне нужно преобразовать день в строку с 'strftime ("% A ")', но это только я догадываюсь. –

ответ

Смежные вопросы