有两种模型:价格模型和服务模型。我试图找到价格最高的服务。所有这些最初都由用户输入查询(称为entry_query)过滤。第一行(1)获取用户查询的价格对象(有效)。然后,第2行(2)返回带有service_code的QS以及服务具有的价格计数。然后,它在第(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:子选择返回2列-预期为1