Внутри моего DetailView
у меня есть 3 очень похожих объекта с небольшими различиями в фильтруемом объекте.
# views.py
def get_context_data(self, **kwargs):
# all sales for all line items (products) with a specified title
sales = Sales.objects.filter(publication__title=self.object)
# filters print sales for a specified title
print_sales = Sales.objects.filter(publicaton__title=self.object, line_item=1)
# filters digital sales for a specified title
digital_sales = Sales.objects.filter(publicaton__title=self.object, line_item=2)
В идеале я хотел бы отобразить таблицу, в которой все продажи разделены по продуктам и месяцам, например:
| Month | Print Sales | Digital Sales |
| --------------- | ----------- | ------------- |
| January | 2,000 | 3,000 |
| February | 1,000 | 2,000 |
| --------------- | ----------- | ------------- |
| Total: | 3,000 | 5,000 |
| Combined Total: | | 8,000 |
Однако я не смог выяснитьспособ правильно отформатировать таблицу и предоставить правильные отфильтрованные данные в моем шаблоне.Приведенный ниже фрагмент отображает правильно отформатированную таблицу (аналогично приведенной выше), но с объединенными данными о продажах, отображаемыми за каждый месяц.дизайн таблицы.
Вот сокращенная версия моих моделей:
# models.py
class LineItem(models.Model):
name = models.CharField(...) # print sales, digital sales...
...
class Publication(models.Model):
title = models.CharField(...)
...
class Sales(models.Model):
publication = models.ForeignKey(Publication, ...)
issue = models.ForeignKey(Issue, ...) # gets each month from the Issue model
line_item = models.ForeignKey(LineItem, ...)
net_sales = models.DecimalField(...)
...
Что я могу изменить в своем шаблоне или представлении, что будет лучшим подходом для решения этой проблемы?