使用多对多相关字段计数对列表视图进行排序

时间:2018-10-09 08:31:12

标签: django django-admin

我设法将相关的多对多字段的计数放入列表视图,但是我无法使用它对列表进行排序。

<li [ngClass]="list.mydata==1?'replies a':'sent a'" *ngFor="let list of chatlist; let last=last;">
    <span [last]="last"></span>
    <img src="{{list.profile_img}}" alt="" />
    <div *ngIf="list.sender_type==0">
        <p>{{list.message}}{{last}}</p>
    </div>
    <div *ngIf="list.sender_type==1">
        <p style="background-color: burlywood;">{{list.message}}</p>
    </div>
 </li>

我已经看到使用自定义查询集完成了类似的工作,但是我不知道如何将其纳入其中。我什至不确定我的计算方式是否是最好的方法。

1 个答案:

答案 0 :(得分:0)

经过更多尝试后,我自己发现了它。

使用get_queryset方法可以注释剧集计数

def get_queryset(self, request):
    qs = super(GuestAdmin, self).get_queryset(request)
    return qs.annotate(episode_count=Count('episodes'))

然后将其用于排序

appearance_count.admin_order_field = 'episode_count'