У меня такой сценарий:
class People(models.Model):
name = models.CharField(max_length=200)
age =...
city=...
...
parent = models.ForeignKey(People)
Я создаю функцию поиска, которая принимает критерии пользователя в список Q-фильтров и возвращает набор результатов поиска.
Как сделать Я получаю набор запросов, чтобы включить родителей для каждого человека, у которого есть родитель, но родитель не соответствует критериям поиска?
Example:
Person A - 60 Years old
Person B - 30 Years old - Parent A
Person C - 30 Years old
Person D - 40 Years old
so now filtering on Age 30, I want the result to show:
A,B,C since A is a parent of B, rather than just B & C
Я могу сгладить результат и получить идентификатор и выполнить второй запрос для любого родителей и объединить два набора запросов.
, но могу ли я сделать это в одном go с помощью функции фильтра Q?