Можно ли объединить аннотации с отложенным / только в django 1.2.1? - PullRequest
2 голосов
/ 13 августа 2010

У меня есть две простые модели: Книга и Автор

У каждой книги есть один Автор, связанный через чужой ключ.

Все работает нормально, пока я не попытаюсь использовать отложенную / только для аннотации:

authors=Author.objects.all().annotate(bookcount=Count('books'))

это работает. Запрос выглядит так:

select table_author.name, table_author.birthday, COUNT(table_book.id) as bookcount 
from table_book left outer join table_author on table_author.id=table_book.author_id 
group by table_author.id

так очень просто - выбрать все от автора и дополнительно выбрать количество книг.

Но когда я делаю следующее, все меняется:

simple=authors.defer('birthday')

Теперь простой запрос выглядит так:

select COUNT(table_book.id) as bookcount from table_book left outer join 
table_author on table_author.id=table_book.author_id group by table_author.id

и он полностью потерял дополнительную информацию. В чем дело?

1 Ответ

1 голос
/ 13 августа 2010

Ну, это может показаться ошибкой.Уже есть билет , но какое-то время он не привлекал большого внимания.Возможно, стоит написать сообщение в группу Google django-developers, чтобы публиковать статьи.

...