如何将 Django 查询集列表转换为字典?
How can I convert django queryset list into dictionary?
我有两个以上的 Django 查询集,并将它们合并到一个列表中,如下所示。
work_queryset = Work.objects.filter(base_id = q).values('worktype', 'datestart', 'dateend', 'dailyworktime', 'remarks')
holiday_queryset = Holiday.objects.filter(base_id = q).values('holiday_type', 'datestart', 'dateend', 'remarks')
合并列表
merged_list = list(chain(work_queryset, holiday_queryset))
输出
[{'datestart': u'2016-04-11', 'dateend': u'2018-07-21', 'remarks': u'Hello remarks', 'worktype': u'Remote'}, {'remarks': u'New holiday', 'datestart': u'2018-09-22', 'dateend': u'2019-09-22', 'holiday_type': u'Sick leave'}, {'remarks': u'nothing comment', 'datestart': u'2016-04-11', 'dateend': u'2016-07-20', 'holiday_type': u'Summer holiday'}]
我想要实现的是将 merged_list 转换为字典,如下所示:
[{'work' : [{'datestart': u'2016-04-11', 'dateend': u'2018-07-21', 'remarks': u'Hello remarks', 'worktype': u'Remote'}], 'holiday': [{'remarks': u'New holiday', 'datestart': u'2018-09-22', 'dateend': u'2019-09-22', 'holiday_type': u'Sick leave'}, {'remarks': u'nothing comment', 'datestart': u'2016-04-11', 'dateend': u'2016-07-20', 'holiday_type': u'Summer holiday'}]}]
我该如何实现?
我不明白你要实现的目标中的 out 列表是什么。
在我看来你只是想要
{
'work': list(work_queryset),
'holiday': list(holiday_queryset)
}
我有两个以上的 Django 查询集,并将它们合并到一个列表中,如下所示。
work_queryset = Work.objects.filter(base_id = q).values('worktype', 'datestart', 'dateend', 'dailyworktime', 'remarks')
holiday_queryset = Holiday.objects.filter(base_id = q).values('holiday_type', 'datestart', 'dateend', 'remarks')
合并列表
merged_list = list(chain(work_queryset, holiday_queryset))
输出
[{'datestart': u'2016-04-11', 'dateend': u'2018-07-21', 'remarks': u'Hello remarks', 'worktype': u'Remote'}, {'remarks': u'New holiday', 'datestart': u'2018-09-22', 'dateend': u'2019-09-22', 'holiday_type': u'Sick leave'}, {'remarks': u'nothing comment', 'datestart': u'2016-04-11', 'dateend': u'2016-07-20', 'holiday_type': u'Summer holiday'}]
我想要实现的是将 merged_list 转换为字典,如下所示:
[{'work' : [{'datestart': u'2016-04-11', 'dateend': u'2018-07-21', 'remarks': u'Hello remarks', 'worktype': u'Remote'}], 'holiday': [{'remarks': u'New holiday', 'datestart': u'2018-09-22', 'dateend': u'2019-09-22', 'holiday_type': u'Sick leave'}, {'remarks': u'nothing comment', 'datestart': u'2016-04-11', 'dateend': u'2016-07-20', 'holiday_type': u'Summer holiday'}]}]
我该如何实现?
我不明白你要实现的目标中的 out 列表是什么。
在我看来你只是想要
{
'work': list(work_queryset),
'holiday': list(holiday_queryset)
}