Существует две модели: модель Цена и модель обслуживания. Я пытаюсь найти Услуги, которые имеют большинство цен. Все это первоначально фильтруется запросом пользовательского ввода (называемым entry_query). Первая строка (1) получает объекты цены, которые запрашивает пользователь (это работает). Затем строка 2 (2) возвращает QS с кодом service_code и подсчетом цен, которые имеет сервис. Затем он выводит строку (3), где выдает ошибку (см. Ниже).
(1) Price_objs = Price_filter.filter(entry_query)
(2) objs_filter=Price_objs.values_list('service__code').annotate(service_count=Count('service__code')).order_by('-service_count')
(3) serv_obj = Service.objects.filter(price__in = objs_filter).distinct()
Вот что выводит строка (2):
<QuerySet [('36430', 62), ('86003', 28), ('87149', 28), ('83516', 23), ('86317', 20), ('94640', 19), ('73502', 18), ('86658', 14), ('73721', 13), ('87070', 13), ('76942', 12), ('87081', 12), ('73560', 11), ('87798', 11), ('36415', 10), ('74177', 10), ('99211', 10), ('73100', 9), ('73221', 9), ('74176', 9), '...(remaining elements truncated)...']>
Вот ошибка, которую я получаю со строкой (3):
django.db.utils.OperationalError: sub-select возвращает 2 столбца - ожидается 1