Python Django |使用关系从查询中获取有序dict

Python Django |使用关系从查询中获取有序dict,python,django,Python,Django,我在模型中有一个有效(但丑陋)的方法: @classmethod def get_任务(cls、用户): tasks=cls.objects\ .filter(代理=用户)\ .prefetch_相关('父','代理') 有序_任务={} 对于任务中的任务: 如果task.parent.pk不在有序任务中: 已排序的_任务[task.parent.pk]={ “父”:task.parent, “任务”:[] } 已排序的_任务[task.parent.pk]['tasks'].append(任务

我在模型中有一个有效(但丑陋)的方法:

@classmethod
def get_任务(cls、用户):
tasks=cls.objects\
.filter(代理=用户)\
.prefetch_相关('父','代理')
有序_任务={}
对于任务中的任务:
如果task.parent.pk不在有序任务中:
已排序的_任务[task.parent.pk]={
“父”:task.parent,
“任务”:[]
}
已排序的_任务[task.parent.pk]['tasks'].append(任务)
返回已排序的任务
它也能起作用,但我相信有更好的解决方案可以达到同样的效果

有什么好主意吗?

使用dict的方法:


谢谢你的回复,比我的状况还要漂亮;)没有解决方案只使用django的ORM就可以得到这个结果?
ordered_tasks = {}
for task in tasks:
    ordered_tasks.setdefault(task.parent.pk, {'parent': task.parent,
                                              'tasks': []}
                            )['tasks'].append(task)