@redduckrobot

Как сделать фильтр по релейтеду (по последним добавленным или в заданном диапазоне)?

Здравствуйте, имеется такая модель:

class Statistics(models.Model):
    date_scan = models.DateTimeField(blank=True, auto_now_add=True)
    rank = models.FloatField(blank=True)


class Works(models.Model):
    ...


class RelStat(models.Model):
    work = models.ForeignKey(Works, related_name='relstat')
    statistics = models.ForeignKey(Statistics, related_name='relstat')


Не могу найти или самостоятельно разобраться с такой задачей:
Нужно получить Works, с последним date_scan (т.е. забрать данные из последнего сканирования) и отсортировать их по rank. Пробовал через filter relstat.last, но как обратиться к relstat.last я так и не понял. И отсортировать rank через order_by('relstat.last.rank') так же не получается.
И аналогичное решение нужно сделать, скажем для последних 2-3+ сканов, т.е. для последних relstat.

Подскажите, пожалуйста, как можно решить эту задачу только фильтрам. В принципе можно забрать все как есть и уже потом через циклы и ветвления разбивать, но хотелось бы сделать один простой фильтр. Спасибо.
  • Вопрос задан
  • 234 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы