У меня есть модель, которая выглядит следующим образом:
class Price(models.Model):
book = models.ForeignKey(Book)
date = models.Dateield(auto_now_add=True)
publisher = models.ForeignKey(Publisher)
price = models.PositiveSmallIntegerField()
Не существует уникальных ограничений на несколько столбцов, каждая книга может иметь несколько цен в день для одного и того же издателя.
IЯ хотел бы сгруппировать все цены, но сначала я бы хотел сгруппировать все цены (средние) для конкретного издателя за определенный день.Это фактически вернет уникальную запись о дате, издателе и книге.
Тогда я бы хотел сгруппировать все цены (суммы) для конкретной книги за определенный день.
ВотSQL Я бы написал:
SELECT book_id
, DATE(date) as date
, SUM(price) AS price
FROM
( SELECT book_id
, DATE(date) as date
, AVG(price) AS price
, publisher_id
FROM literature_prices
GROUP
BY date
, book_id
, publisher_id
)
GROUP
BY book_id
, date
Это было легко сделать в SQL, но я не уверен, как бы я поступил так же, используя Djano ORM.Любая помощь?