Size: a a a

Django [ru] #STAY HOME

2021 February 09

MA

Mikhail Anishchanka in Django [ru] #STAY HOME
сверху то. что вывожу я, снизу то, что выводит джанго
источник

MA

Mikhail Anishchanka in Django [ru] #STAY HOME
вот так вывожу
источник

РШ

Роман Шапран... in Django [ru] #STAY HOME
коллеги, а можно ли как то при помощи аннотации посчитать сумму поля?
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Роман Шапран
коллеги, а можно ли как то при помощи аннотации посчитать сумму поля?
можно, хоть и не понятно что такое сумма поля)
источник

РШ

Роман Шапран... in Django [ru] #STAY HOME
Nikolay Cherniy
можно, хоть и не понятно что такое сумма поля)
есть модель Payments у нее есть amount мне необходимо посчитать сумму amounts за месяц в течении полу года
источник

РШ

Роман Шапран... in Django [ru] #STAY HOME
мид настаивает делать через аннотации и что бы все вычисления были на стороне бд. доку читал! все равно не понимаю как это сделать
источник

YK

Yegor Kowalew in Django [ru] #STAY HOME
Создал отдельный апп, в нем папка templates, там шаблон base.html
в шаблоне пишу:
        {% load flatpages %}
       <ul>
           <li><a href="/">Главная</a></li>
           {% for page in flatpages %}<li><a href="{{ page.url }}">{{ page.title }}</a></li>{% endfor %}
       </ul>

... нет никого
источник

A

Askhab in Django [ru] #STAY HOME
Роман Шапран
мид настаивает делать через аннотации и что бы все вычисления были на стороне бд. доку читал! все равно не понимаю как это сделать
мид это кто?
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Фильтруешь что нужно сложить, потом annotate(Sum(“amounts”))
источник

РШ

Роман Шапран... in Django [ru] #STAY HOME
Askhab
мид это кто?
мидл разраб
источник

РШ

Роман Шапран... in Django [ru] #STAY HOME
Nikolay Cherniy
Фильтруешь что нужно сложить, потом annotate(Sum(“amounts”))
ну я так и пытаюсь но оно почему то каждому обьекту в qs присваивает значение ammount как ammount__sum
источник

YK

Yegor Kowalew in Django [ru] #STAY HOME
Yegor Kowalew
Создал отдельный апп, в нем папка templates, там шаблон base.html
в шаблоне пишу:
        {% load flatpages %}
       <ul>
           <li><a href="/">Главная</a></li>
           {% for page in flatpages %}<li><a href="{{ page.url }}">{{ page.title }}</a></li>{% endfor %}
       </ul>

... нет никого
решение:
        {% load flatpages %}
       {% get_flatpages as flatpages %}
       <ul>
           <li><a href="/">Главная</a></li>
           {% for page in flatpages %}<li><a href="{{ page.url }}">{{ page.title }}</a></li>{% endfor %}
       </ul>
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Роман Шапран
ну я так и пытаюсь но оно почему то каждому обьекту в qs присваивает значение ammount как ammount__sum
А тебе как надо?
источник

РШ

Роман Шапран... in Django [ru] #STAY HOME
Nikolay Cherniy
А тебе как надо?
а мне надо сумму всех amount за период. и при этом что бы было аннотировано first_month, second_month...  в течении полугода
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Роман Шапран
а мне надо сумму всех amount за период. и при этом что бы было аннотировано first_month, second_month...  в течении полугода
Ну тогда аннотацию на каждый случай и фильтр к нему, я думал тебя название поля не устраивает)
источник

РШ

Роман Шапран... in Django [ru] #STAY HOME
Nikolay Cherniy
Ну тогда аннотацию на каждый случай и фильтр к нему, я думал тебя название поля не устраивает)
а за месяц то как посчитать amount? а не к каждому обьекту в qs
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Роман Шапран
а за месяц то как посчитать amount? а не к каждому обьекту в qs
В аннотейт указываешь фильтр, в котором рендж за месяц
источник

МБ

Михаил Блонский... in Django [ru] #STAY HOME
Здравствуйте, господа. Есть такое тестовое задание: https://bitbucket.org/spavlyuk/django_quick_test/src/master/
Я не совсем понимаю, как сделать агрегацию данных внутри модели
источник

РШ

Роман Шапран... in Django [ru] #STAY HOME
Nikolay Cherniy
В аннотейт указываешь фильтр, в котором рендж за месяц
.annotate(first_month=Sum('amount', filter = Q(created_at__range=(half_year_ago, half_year_ago + relativedelta(months=1)))))
вот так например он выдает то же самое то есть к каждому обьекту qs присваивает поле first_month
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Роман Шапран
.annotate(first_month=Sum('amount', filter = Q(created_at__range=(half_year_ago, half_year_ago + relativedelta(months=1)))))
вот так например он выдает то же самое то есть к каждому обьекту qs присваивает поле first_month
А, понял о чем ты, аннотейт подписывает все объекты, обычно его делают от связанного объекта, например клиента
источник