У меня есть две простые модели: Книга и авторМожно ли комбинировать аннотации с defer/only в django 1.2.1?
В каждой книге есть один автор, связанный через чужой ключ.
вещи работают нормально, пока я пытаюсь использовать Отложить/только на аннотацию:
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 для ошибки Django! – katrielalex