3
我有人與城市和年齡字段模型。 我需要計算每個城市的人數,分爲3個不同的年齡段< 20,介於20到50和> 50之間。我需要在一個SQL查詢中執行此操作。Django通過額外選擇的計算字段進行註釋
People.objects.extra(select={'young':'if(age < 20, 1, 0)',
'med':'if (age > 20 and age < 50, 1, 0)',
'old':'if (age > 50, 1, 0)'}).\
values('city').\
annotate(sum_young=Sum('young'),
sum_med=Sum('med'),
sum_old=Sum('old'))
這是行不通的,似乎註釋不能通過計算字段來完成。
僅MySQL解決方案就夠了。