按作者姓名过滤后如何计算平均分数?

时间:2019-07-01 04:27:58

标签: python django-rest-framework

我想不出其他方法来计算所有属于作者的帖子的平均得分。我在django中使用了聚合,但是问题是QuerySet没有属性Objects。

def get_queryset(self) :
    queryset_list = Post.objects.all()
    query = self.request.GET.get("q")
    print(query)
    if query :
       queryset_list = queryset_list.filter(author__username=query)
    abc = self.calc_mark_avg(queryset_list)
    return abc
    return queryset_list
def calc_mark_avg(self,queryset_list) :
    author = queryset_list
    mean = author.objects.all().aggreagate(Avg('mark'))
    return mean

1 个答案:

答案 0 :(得分:0)

<ion-header> <ion-navbar> <ion-title>Home</ion-title> </ion-navbar> </ion-header> <ion-content padding> <div [formGroup]="formGroup" *ngIf="formGroup"> <ion-slides slidesPerView="2"> <ion-slide formArrayName="formArray" *ngFor="let array of dummyData; let i=index"> <ion-item [formGroupName]="i"> <ion-select formControlName="arrayControl" (ionChange)="change(array, i)"> <ion-option *ngFor="let list of data" [value]="list.id">{{list.name}}</ion-option> </ion-select> </ion-item> <ion-item> <ion-label>{{array.population}}</ion-label> </ion-item> <ion-item> <ion-label>{{array.id}}</ion-label> </ion-item> </ion-slide> </ion-slides> </div> </ion-content> 是经过过滤的查询集,因此它没有管理器(即对象)。

您可以直接在查询集上应用聚合

ion-select

有关更多信息,https://docs.djangoproject.com/en/2.2/topics/db/aggregation/#aggregations-and-other-queryset-clauses