Python 在Django中按不同参数进行注释分组时,将ID收集为列表

Python 在Django中按不同参数进行注释分组时,将ID收集为列表,python,django,Python,Django,在django中注释时,我必须收集不同的车辆类型ID 这是我现在所拥有的,以及按城市代码和最终司机、车主联系方式进行分组。我希望收集按它们分组的所有相应车辆类型(城市代码、最终驾驶员、车主联系人)和月份 od_engagement = list(FieldOpsBooking.objects.using( 'analytics').exclude(**exclude_query).filter(**filter_query).values( 'city_code', 'final

在django中注释时,我必须收集不同的车辆类型ID

这是我现在所拥有的,以及按城市代码和最终司机、车主联系方式进行分组。我希望收集按它们分组的所有相应车辆类型(城市代码、最终驾驶员、车主联系人)和月份

od_engagement = list(FieldOpsBooking.objects.using(
    'analytics').exclude(**exclude_query).filter(**filter_query).values(
    'city_code', 'final_driver_owner_contact').annotate(
    booking_count=Count('final_driver_owner_contact'),
    vehicle_count=Count('final_driver_vehicle_no', distinct=True),
    total_cost=Sum('final_driver_rate'),
    month=TruncMonth('pick_up_at')))
是否可以将其添加到此查询中(类似于mongodb,它允许您在聚合分组时推送ID)

或者是否有其他方法可以使用单独的查询获得相同的结果


非常感谢您的帮助。

因为我和Django一起使用postgresql。 这对我来说很有效,没有明显的区别

关于Group Concat的文章很多,但没有找到任何有用的东西

这是一个仅适用于博士后的解决方案

使用
StringAgg('vehicle_type_id',','))


自从我和Django一起使用postgresql以来。 这对我来说很有效,没有明显的区别

关于Group Concat的文章很多,但没有找到任何有用的东西

这是一个仅适用于博士后的解决方案

使用
StringAgg('vehicle_type_id',','))

from django.contrib.postgres.aggregates import StringAgg

od_engagement = list(FieldOpsBooking.objects.using(
    'analytics').exclude(**exclude_query).filter(**filter_query).values(
    'city_code', 'final_driver_owner_contact').annotate(
    vehicle_types = StringAgg('vehicle_type_id', ','),
    booking_count=Count('final_driver_owner_contact'),
    vehicle_count=Count('final_driver_vehicle_no', distinct=True),
    total_cost=Sum('final_driver_rate'),
    month=TruncMonth('pick_up_at')))