Суммирование объектов Foreignkey для цикла - PullRequest
0 голосов
/ 09 мая 2020

Я пытаюсь создать таблицу с 2 столбцами: 1) Коллекции и 2) Квалифицированные продажи.

Как на изображении выше. enter image description here

Каждый book считается своим qualified_sales.

Qualified sales (столбец в таблице) должен суммировать все qualified_sales всех books каждого collection.

models.py

class Publishing_company(models.Model):
     title = models.CharField(max_length=50)

class Collection(models.Model):
     publishing_company = models.ForeignKey(Publishing_company, on_delete=models.CASCADE)

class Book(models.Model):
     publishing_company = models.ForeignKey(Publishing_company, on_delete=models.CASCADE)

class Sale(models.Model):
     book = models.ForeignKey(Book, on_delete=models.CASCADE)
     qualified_sale = models.IntegerField(default=0)

views.py

def qlf_sales(request):
    book = Collection.objects.filter(user=request.user)
    qualified_sum = Sale.objects.filter(user=request.user, book__publishing_company__collection__in=book).aggregate(Sum('qualified_sale'))['qualified_sale__sum'] or 0

    context = {'qualified_sum': qualified_sum}

    return render(request, 'template.html', context)

шаблон. html

{% for collection in collections %}
  <tr>
     <td>{{collection}}</td>
     <td>{{qualified_sum}}%</td>
  </tr>
{% endfor %}

Но этот код не работает. Не появляется никаких ошибок отладки, но во всех полях в столбце «Квалифицированные продажи» отображается одно и то же значение: сумма всех qualified_sales всех sales всех book.

почему не отдельно коллекцией?

Если кто может мне помочь. Пожалуйста, я go очень благодарен

...