2010-08-13 1 views
2

У меня есть две простые модели: Книга и авторМожно ли комбинировать аннотации с 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 

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

+0

+1 для ошибки Django! – katrielalex

ответ

1

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

 Смежные вопросы

  • Нет связанных вопросов^_^