Допустим, у меня есть следующие объекты:
squirrel_table
- name
- country_of_origin
- id
nut_table
- id
- squirrel_who_owns_me[fk to squirrel]
Я хочу получить список всех белок в конкретной стране. Возвращенные белковые объекты могут быть в QuerySet, но не обязательно. Список будет достаточно. У каждой белки будет дополнительное свойство, называемое nut_count. SQL для этого будет выглядеть примерно так (обратите внимание, я использую подзапрос, чтобы не перечислять все столбцы белка, поскольку в действительности их будет много) (я использую PostgreSQL):
select sq.*,
nut_counts.nut_count
from squirrel_table sq,
(select sq2.id as squirrel_id,
count(nuts) as nut_count
from squirrel_table sq2,
nut_table nuts
where nuts.squirrel_who_owns_me = sq2.id
and sq.country_of_origin = 'USA'
group by sq2.id) as nut_counts
where sq.id = nut_counts.squirrel_id
Есть ли способ выполнить SQL, взять созданный им курсор, превратить его в список объектов белка и добавить число_ орехов к каждой белке?