Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django访问values对象中的反向外键数据_Python_Django_Postgresql_Orm - Fatal编程技术网

Python Django访问values对象中的反向外键数据

Python Django访问values对象中的反向外键数据,python,django,postgresql,orm,Python,Django,Postgresql,Orm,我构建CMS是为了好玩,但在查询给定帖子的资源时,我被困在django中 我有以下代码做我想做的事情: data = list(Post.objects.filter(topic__name=topic_name).values()) for d in data: d["resources"] = list(Resource.objects.filter(post=d["id"]).values()) 问题是,在1个查询中选择带有主题的帖子列表后,它会为每个资源列表再创建1个查询。有没

我构建CMS是为了好玩,但在查询给定帖子的资源时,我被困在django中

我有以下代码做我想做的事情:

data = list(Post.objects.filter(topic__name=topic_name).values())
for d in data:
    d["resources"] = list(Resource.objects.filter(post=d["id"]).values())
问题是,在1个查询中选择带有主题的帖子列表后,它会为每个资源列表再创建1个查询。有没有更有效的方法将资源字典放入每篇文章中?

只需使用:

posts = Post.objects.filter(topic__name=topic_name).prefetch_related('resources') # resources is the related_name defined for Post in Resource model