gpt4 book ai didi

python - 如何创建一个包含两个列表的字典,以最少的查询次数保留第一个列表的顺序?

转载 作者:行者123 更新时间:2023-12-01 06:03:10 24 4
gpt4 key购买 nike

假设我在 QuerySet 中有一个电影 ID 列表,格式如下:

movie_ids = [12,4,9,16]

现在,我想拉取相应电影的列表。我还想尽量减少查询的数量。所以我执行以下操作:

movies = Movie.objects.filter(pk__in=movie_ids)

但是,此查询不能保证电影将具有相应的电影对象,其顺序与 movie_ids 中的顺序相同,不是吗?无论如何,是否可以保证顺序(以便每个 movie_id 对应于正确的电影),以便我可以将两个列表配对到字典中:

id_movies = dict(zip(movie_ids, movies))

这将在我的 Django 模板中使用。

最佳答案

您可以使用像

这样的字典
# Create the dict for the movies object.
id_movies = dict([(m.id, m) for m in movies])

# Get the data in order.
order_movies = [id_movies[i] for i in movie_ids]

这样您将按照您给出的顺序获得对象。

关于python - 如何创建一个包含两个列表的字典,以最少的查询次数保留第一个列表的顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9288075/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com