2010-08-13 99 views
2

我有两个简单的模型:书和作者是否有可能将注释与延迟/只在django 1.2.1中结合?

每本书有一个作者,通过一个foreignkey链接。

事情都运转正常,直到我尝试使用延迟/只注释:

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 2010-08-13 08:59:31

回答

1

好吧,这似乎是一个错误。目前已有a ticket,但暂时还没有引起足够的重视。可能值得向django开发人员Google小组发布帖子,以帮助解决问题。

相关问题