由于某种原因,我将一个实例(不是查询集)传递给 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)
简单
instance = queryset.order_by('?').prefetch_related('exercises').first()
应该可以解决问题。