Django Наборы запросов - Поиск процента между двумя QuerySets - PullRequest
0 голосов
/ 28 апреля 2020

У меня есть два набора запросов -

>>> region_carrier_groupby_total =
<QuerySet [{'region_carrier': 'tc2 - rc2', 'DID_Count': 2}, {'region_carrier': 'tc1 - rc1', 'DID_Count': 16}]>


>>> region_carrier_groupby_available =
<QuerySet [{'region_carrier': 'tc2 - rc2', 'DID_Count': 1}, {'region_carrier': 'tc1 - rc1', 'DID_Count': 14}]>

Цель здесь - найти доступный процент, сгруппированный по region_carrier для подсчета DID. Например -

region_carrier: tc1-rc1, процент DID_Count = (14/16) * 100 region_carrier: tc2 - rc2, Percent DID_Count = (1/2) * 100

1 Ответ

1 голос
/ 28 апреля 2020

Итак, я полагаю, вы хотите сделать это в коде, а не в sql:

total_counter = {}
for item in region_carrier_groupby_total:
    total_counter[item['region_carrier']] = item['DID_Count']

total_available = {}
for item in region_carrier_groupby_available:
    total_available[item['region_carrier']] = item['DID_Count']

result = {}
for key, total in total_counter.items():
    result[key] = total_available.get(key, 0) / total
...