django: совокупный запрос на основе временного диапазона

У меня есть следующие модели, Art и ArtScore:

class Art(models.Model):
    title = models.CharField()

class ArtScore(models.Model):
    art = models.ForeignKey(Art)
    date = models.DateField(auto_now_add = True)
    amount = models.IntegerField()

Некоторые действия пользователя приводят к записи в ArtScore, например, когда вы нажимаетеМне нравится это искусствоЯ сохраняю определенное количество ArtScore для этого искусства.

Сейчас я'я пытаюсь показать страницу длясамый популярный на этой неделе, поэтому мне нужен запрос, объединяющий только суммы ArtScore за этот промежуток времени.

Я построил запрос ниже, но этос недостатками ...

popular = Art.objects.filter(
    artscore__date__range=(weekago, today)
).annotate(
    score=Sum('artscore__amount')
).order_by('-score')

... потому что это исключает только искусство, которое неу меня есть запись ArtScore в диапазоне дат, ноне исключает записи ArtScore за пределами диапазона дат.

Любые указатели, как это сделать, будут оценены!

Спасибо,

Мартин

Ответы на вопрос(1)

Ваш ответ на вопрос