Не удается получить правильный вывод в фильтре django

У меня есть следующие модели.

class Stocks(models.Model):
    ticker = models.CharField(max_length=30, primary_key=True, unique=True)
    company_name = models.CharField(max_length=100, blank=True, null=True)
    ...

class Advice(models.Model):
    ticker = models.ForeignKey(Stocks, db_column='ticker', related_name='advices', 
             on_delete=models.CASCADE)
    advice_date = models.DateField(blank=True, null=True)
    ...
class Recommendation(models.Model):
    ticker = models.ForeignKey(Stocks, db_column='ticker', related_name='recommendation', 
             on_delete=models.CASCADE)
    target = models.FloatField(blank=True, null=True)

Я хочу получить данные, где Advice.advice_date является последней. но следующий код дает мне все записи из advice

reco = Recommendation.objects.all().values('ticker__advices__advice_date').filter(ticker__advices__advice_date=datetime.date(2022,1,19))

print(reco)

вот что я получаю: <QuerySet [{'ticker__advices__advice_date': datetime.date(2022, 1, 10)}, {'ticker__advices__advice_date': datetime.date(2022, 1, 11)}, {'ticker__advices__advice_date': datetime. date(2022, 1, 12)}, {'ticker__advices__advice_date': datetime.date(2022, 1, 13)}, {'ticker__advices__advice_date': datetime.date(2022, 1, 14)}, {'ticker__advices__advice_date': datetime. date(2022, 1, 17)}, {'ticker__advices__advice_date': datetime.date(2022, 1, 18)}, {'ticker__advices__advice_date': datetime. date(2022, 1, 19)}, {'ticker__advices__advice_date': datetime.date(2022, 1, 10)}, {'ticker__advices__advice_date': datetime.date(2022, 1, 11)}, {'ticker__advices__advice_date': datetime. date(2022, 1, 12)}, {'ticker__advices__advice_date': datetime.date(2022, 1, 13)}, {'ticker__advices__advice_date': datetime. date(2022, 1, 14)}, {'ticker__advices__advice_date': datetime.date(2022, 1, 17)}, {'ticker__advices__advice_date': datetime.date(2022, 1, 18)}, {'ticker__advices__advice_date': datetime. date(2022, 1, 19)}, {'ticker__advices__advice_date': datetime.date(2022, 1, 10)}, {'ticker__advices__advice_date': datetime.date(2022, 1, 11)}, {'ticker__advices__advice_date': datetime. date(2022, 1, 12)}, {'ticker__advices__advice_date': datetime.date(2022, 1, 13)}, '...(остальные элементы усечены)...']>

вот что мне нужно: <QuerySet [{'ticker__advices__advice_date': datetime.date(2022, 1, 19)}]

Я просто написал значения после фильтра и это сработало. Я не уверен почему, но я получаю желаемый результат, написав запрос следующим образом:

reco = Recommendation.objects.all().filter(ticker__advices__advice_date=datetime.date(2022,1,19)).values('ticker__advices__advice_date')
Вернуться на верх