2010-08-18 76 views
1

假设我有一个带有语言字段和外键的发布者模型的书籍模型。Django查询:如何使用过滤计数进行注释?

目前,我在自定义发布商管理器中使用计数注释,以允许我向管理员添加一个可排序的列,其中包含每个发布者的书籍数量。 (请参阅How to add a sortable count column to the Django admin of a model with a many-to-one relation?

我现在的问题是我需要为每种语言发布的书籍有不同的列数。

是否有任何方法使注释受到相关模型的过滤器限制?

回答

0

为此可以使用双下划线__。像这样的事情(从OP连接问题采取的片段):

class PublisherManager(models.Manager): 
    def get_query_set(self): 
     return super(PublisherManager,self).get_query_set().annotate(lang_count=Count('book__language')) 
+0

由于马诺,但它似乎没有工作 - 它的票已经* *的一些语言,而不是空/无书。 – 2010-08-18 09:15:35

+0

啊。 Mea cupla。没有用实际数据进行测试。 – 2010-08-18 09:27:04