django REST框架,如何与单个对象相关的预取

问题描述 投票:0回答:1

由于某种原因,我将一个实例(不是查询集)传递给 ModelSerializer。但我想与这个实例进行 prefetch_lated 。

# instance is a Workout object
instance = queryset.order_by('?').first()
# I want to do something like: instance.prefetch_related('exercises') to avoid N+1 problem
workout = WorkoutModelSerializer(instance)
return Response(workout.data, status=status.HTTP_200_OK)
django django-rest-framework django-orm
1个回答
0
投票

简单

instance = queryset.order_by('?').prefetch_related('exercises').first()

应该可以解决问题。

© www.soinside.com 2019 - 2024. All rights reserved.