我开始使用Django项目,我有四个模型,客户端,员工,booking_request,meeting_event
客户可以预订很多会议,每次会议都可能涉及很多员工。每个预订请求都分配给一个meeting_event。
我想查询一个Staff对象列表,按照他们在meeting_event中预订的客户数量排序。
目前我可以想象
Staff.objects.annotate(num_bookings=Count('bookings_with_clients')).order_by('-num_bookings')
但我无法将结果过滤到特定的meeting_event
模型如下:
客户端
Request_booking
员工
会面活动
任何帮助将不胜感激:)
编辑: 我可以找回参与会议的工作人员,但如果他/她参与的不仅仅是预订,有些人可能不止一次。
Staff.objects.filter(request_booking_set__event=event)
所以我认为这可能有效,现在应该可以正常工作了。希望没有任何错误
Staff.objects.filter(request_booking_set__event=event).annotate(
num_bookings=Count('code')).order_by(
'-num_bookings')