Django аннотация запроса для сериализации данных в сеть - PullRequest
0 голосов
/ 03 мая 2020

Здесь у меня есть данные, перечисленные ниже.

category   order_no status
cat1       11      success
cat1       12      success
cat1       12      success
cat2       11      success
cat2       11      success
cat1       15      success
cat3       50       failed

И я хочу объединить данные, как показано в таблице ниже.

O / P-

Order_no    category  order type      total order  successful  failed
 11          cat1     2(composite)         1             1         0
 11          cat2     2(composite)         2             2         0
 12          cat1     1(single)            2             2         0
 15          cat1     1(single)            1             1         0
 50          cat3     1 (single)           1             0         1

если какой-либо ордер no связан с двумя различными категориями (например, cat1, cat2), то его order_type будет равен 2 (составной), в противном случае он будет равен 1 (один)

Теперь я пытаюсь напишите Django запрос в наборе данных, чтобы сериализовать данные в jquery таблицы данных.

Однако мой запрос получает некоторые другие результаты или выдает ошибку.

queryset = Model.objects.annotate(order_no=F('order_no'),category=F('category'),\
                    order_type=Count('category','order_no',distinct=True),total_orders=Count('category'),\
                        total_success_order=Count('status', filter=Qstatus='success')),\
                            total_failed_order=Count('status', filter=Q(status='failed')))

Какой подход следует использовать следуйте ... и я не могу использовать необработанные SQL запросы из-за ограничений проекта.

...