0
這裏是我的模型的簡化版本:詮釋Django的查詢集使用多個字段計數
class Flight(models.Model):
airline = models.CharField(max_length=100)
origin = models.CharField(max_length=4)
destination = models.CharField(max_length=4)
我想要做的是組Flight
對象由某些領域他們共同的價值觀和註釋組,相應的航班計數,如文檔here中所述。
我知道如何做到這一點時,只考慮一個領域。例如,
Flight.objects.values('airline').annotate(Count('id')).order_by('-id__count')
我得到的是這樣的:
[{'airline': 'First Airlines', 'id__count': 21},
{'airline': 'Air Second', 'id__count': 6},
{'airline': 'Third Airways', 'id__count': 3}, ...]
這意味着有21個Flight
對象,其airline
場'First Airlines'
,等等。
但是,我該如何概括計算多個字段並將它們組合爲一個註釋的查詢集,該查詢集將來自不同字段的值視爲它們是相同的字段?
例如,假設我從洛杉磯到紐約的3班和2個回程航班的其他方式(有3個Flight
對象與原產'LAX'
和目的地'JFK'
,和2個Flight
對象與原產'JFK'
和目的地'LAX'
)。我怎麼能得到這個:
[{'airport': 'LAX', 'id__count': 5},
{'airport': 'JFK', 'id__count': 5}]