Я удивлен, что этот вопрос, по-видимому, еще не существует. Если это так, пожалуйста, помогите мне найти его.
Я хочу использовать annotate (Count) и order_by, но я не хочу подсчитывать все экземпляры связанного объекта, а только те, которые соответствуют определенному критерию.
То есть, я мог бы перечислить ласточек по количеству зеленых кокосов, которые они несли:
swallow.objects.annotate(num_coconuts=Count('coconuts_carried__husk__color = "green"').order_by('num_coconuts')