计算自我引用多个到多个领域

时间:2013-06-29 09:59:43

标签: python django django-models

我有以下自我引用模型,可以为此配置文件提供支持。

    supports = models.ManyToManyField('self', blank=True, symmetrical=False,
                                  related_name='supporters')

我希望伯爵不支持,支持这个用户的支持者。

有什么想法吗?

def get_queryset(self):
    qs = super(ProfileListView, self).get_queryset()
    if self.request.GET.get('s'):
        sorting = self.request.GET.get('s')
        if sorting == 'pop':

            qs = ......
    return qs

2 个答案:

答案 0 :(得分:0)

我假设我的模型实例名为myUser:

supporters = myUser.supports_set.all()

答案 1 :(得分:0)

注释下面的支持者数量,解决了我的问题

 qs = qs.annotate(number_of_supporters=Count('supporters'))
 qs = qs.order_by('-number_of_supporters')