在视图中访问context_dict

时间:2015-09-07 11:43:11

标签: python django

我在Django中运行以下查询以传递到模板

release_list = Releases.objects.filter(id=release_id).values('all_artists','label_no_country','id','title','genre')
context_dict['releases'] = release_list

然后我想将genre数据传递到视图中的另一个查询,例如

genre_list = Releases.objects.filter(genre=genre).values()
context_dict['genre_list'] = genre_list

如何从第一个查询中访问genre数据?

1 个答案:

答案 0 :(得分:1)

事情是

release_list = Releases.objects.filter(...).values('genre', ...)

表现得像一个包含您要求的密钥的对象列表,因此您可以获得许多 genre值,而不是一个

如果这就是你想要的那么

for release in release_list:
    genre = release['genre']
    genre_list = Releases.objects.filter(genre=genre).values()

或者您可以从中提取所有genre

genres = [release['genre'] for release in release_list]

然后你可以,例如像这样使用它

genre_list = Releases.objects.filter(genre__in=genres)

或者您可以传递对象而不是值,这可以像这样工作:

release = Releases.objects.get(...)
SomeModel.objects.filter(genre=release.genre)