OperationalError: sub-select возвращает 2 столбца - ожидается 1 в Django QuerySet - PullRequest
0 голосов
/ 22 марта 2019

Существует две модели: модель Цена и модель обслуживания. Я пытаюсь найти Услуги, которые имеют большинство цен. Все это первоначально фильтруется запросом пользовательского ввода (называемым 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...