我的问题看起来像这样-在循环中我需要多次引用许多字段。每次我必须使用另一个ID进行操作时。我能想到的每个解决方案似乎都很沉重,我想做得整洁干净,我只是个主意(问题可能是我对Django和Python的一点了解)。 现在我有这样的东西(它显然不起作用):
projects = Project.objects.order_by('name').values()
for project in projects:
currentProject = Project.objects.get(pk=project['id'])
projects[index] = {
'genres': currentProject.genres.all().values()
}
context = {
'projects': projects,
}
大约2个小时以来,我一直在寻找答案,但找不到我想要的东西,因此希望这里有人能给我一些建议。谢谢
答案 0 :(得分:0)
如果您要尝试创建的所有项目的二维流派列表按其名称排序。然后,
projects = [list(cur_project.genres.all()) for cur_project in Project.objects.all().order_by('name')]
答案 1 :(得分:0)
也许您需要使用prefetch_related,
projects = Project.objects.prefetch_related('genres_set')
答案 2 :(得分:0)
如果我是你,我会隔离ID, 并使用它:
projects= Projects.objects.filter(id__in=list_of_ids)
它为给定的ID返回多个对象。