关键字必须在** argsPython(parser-16)之前

时间:2019-05-21 15:29:12

标签: python django

我是python的新手,我有一个应用程序,无法运行服务器,因为此方法出现以下错误“关键字必须在** argsPython(parser-16)之前出现”

queryset = queryset.annotate(num_exemptions_applied = Count(Case(             当(** annotate_filters,则= 1)

整个方法如下。任何帮助表示感谢。

    def get_queryset(self, request):
    mtr_id = self.request.query_params.get('id')
    user_terminals = request.user.groups.values_list('name', flat=True)
    queryset = ApplicableTimeSlots.objects.filter(code__in=user)


    annotate_filters = {
        'exemptions__killed': False
    }
    if id:
        queryset = queryset.filter(mtr=id)
        annotate_filters['time_zone_id'] = mtr_id

    queryset = queryset.annotate(num_exemptions_applied=Count(Case(
        When(**annotate_filters, then=1),
        output_field=IntegerField(),
    )))
    return queryset.values(
        'time_zone__id', 
        'time_zone__time_slot_start'
        ).distinct().order_by("time_zone__time_slot_start")

0 个答案:

没有答案