【问题标题】:Is it possible to combine annotations with defer/only in django 1.2.1?是否可以在 django 1.2.1 中将注释与 defer/only 结合使用?
【发布时间】:2010-08-13 07:22:18
【问题描述】:

我有两个简单的模型:书和作者

每本书都有一个作者,通过外键链接。

在我尝试在注释上使用 defer/only 之前一切正常:

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

它已经完全丢失了额外的信息。有什么关系?

【问题讨论】:

    标签: python django django-queryset


    【解决方案1】:

    嗯,这似乎是一个错误。已经有a ticket了,不过暂时没有太多关注。可能值得在 django-developers Google 小组发帖,以便一起讨论。

    【讨论】:

      猜你喜欢
      • 2013-02-23
      • 2011-01-11
      • 2011-02-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-04
      相关资源
      最近更新 更多