【发布时间】:2020-04-07 19:28:53
【问题描述】:
我正在为此苦苦挣扎,这是使用元组和字典的全新方式。我正在从我的模型中提取数据,我想得到一个看起来像这样的数组组合;
{'Home': {'completed': '2', 'ongoing': '3'}, 'Lenan School': {'completed': '1', 'ongoing': '0'}, 'test site': {'completed': '1', 'ongoing': '3'}, 'Juala': {'completed': '0', 'ongoing': '0'}}
我的代码是这样的;
qua_sites = quarantine_sites.objects.all().order_by('site_name')
ongoing_cases = {}
completed_cases = []
combinded_array = myDict()
for qua_site in qua_sites:
qua_completed_contacts = quarantine_contacts.objects.filter(quarantine_site_id = qua_site.id).filter(created_at__gte = date.today()- timedelta(days=14)).count()
qua_ongoing_contacts = quarantine_contacts.objects.filter(quarantine_site_id = qua_site.id).filter(created_at__lte = date.today()- timedelta(days=14)).count()
combinded_array.add('ongoing',str(qua_ongoing_contacts))
combinded_array.add('completed',str(qua_completed_contacts))
print("------")
print(combinded_array)
ongoing_cases[qua_site.site_name] = combinded_array
print(ongoing_cases)
combined_array 一直被最后一个值覆盖。我的打印输出是这样的;
------
{'completed': '2', 'ongoing': '3'}
{'Home': {'completed': '2', 'ongoing': '3'}}
------
{'completed': '1', 'ongoing': '0'}
{'Home': {'completed': '1', 'ongoing': '0'}, 'Juala': {'completed': '1', 'ongoing': '0'}}
------
{'completed': '1', 'ongoing': '3'}
{'Home': {'completed': '1', 'ongoing': '3'}, 'Lenan School': {'completed': '1', 'ongoing': '3'},
'Juala': {'completed': '1', 'ongoing': '3'}}
------
{'completed': '0', 'ongoing': '0'}
{'Home': {'completed': '0', 'ongoing': '0'}, 'Lenan School': {'completed': '0', 'ongoing': '0'},
'test site': {'completed': '0', 'ongoing': '0'}, 'Juala': {'completed': '0', 'ongoing': '0'}}
如何实现我想要的数组组合,如上面的示例。提前致谢。
【问题讨论】:
标签: python dictionary django-models tuples