Как фильтровать объекты путем фильтрации связанных объектов - PullRequest
0 голосов
/ 22 января 2019

Я использую Python 3.7 и django 2.1.

Я пытаюсь отфильтровать родительский объект по "последним" свойствам дочернего объекта

Я могу сделать это, используя2 запроса (см. - Запрос Django, который получает самые последние объекты из разных категорий )

Class Bakery(models.Model):
     town = models.CharField()

Class Cake(models.Model):
    bakery = models.ForeignKey(Bakery, related_name="cakes")
    baked_at = models.DateTimeField()
    is_chocolate = models.BooleanField()

Я хотел бы сделать что-то вроде:

bakeries_whose_latest_cake_was_chocolate = Bakery.objects \
    .annotate(latest_cake=F('cakes__baked_at=Max(cakes__baked_at')) \
    .filter(is_chocolate=True)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...