python - 在 View 中访问 c​​ontext_dict

标签 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 数据传递到 View 中的另一个查询中,例如

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

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

最佳答案

事情是

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)

关于python - 在 View 中访问 c​​ontext_dict,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32437870/

相关文章:

python - Django - 如何在管理页面字段上显示科学记数法?

python - OperationalError,没有这样的列。 Django

python - Django QuerySet 注释/聚合中 SQL 的直方图

python - = 和 == 有什么区别?

django - 通过 Django 配置和使用 structlog

python - 如何访问 Spark PipelineModel 参数

python - 添加列表和字符串并导入当前年份

django - 使用 django 和 firestore,非关系数据库

python - Maya\python 递增值的增量按钮

python - 重新导入模块 "as"