Использование данных из запросов Django в одном представлении - PullRequest
1 голос
/ 15 июня 2009

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

Мой запрос:

sites_list = Site.objects.filter(worker=worker)

Я пытаюсь сделать что-то вроде этого:

for site in sites_list:
    [Insert Query Here]

Редактировать: Я видел awnser, и я не уверен, как я не получил это, может быть, это знак, что я слишком поздно кодирования: S

Ответы [ 2 ]

2 голосов
/ 15 июня 2009

Вы можете легко сделать что-то вроде этого:

sites_list = Site.objects.filter(worker=worker)

for site in sites_list:
    new_sites_list = Site.objects.filter(name=site.name).filter(something else)
0 голосов
/ 20 июня 2009

Вы также можете использовать тип поиска __in. Например, если у вас была модель Entry с отношением к Site, вы могли бы написать:

Entry.objects.filter(site__in=Site.objects.filter(...some conditions...))

Это приведет к выполнению одного запроса в БД (условие фильтрации для сайтов будет превращено в подзапрос в предложении WHERE).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...