Indeed, some comments would help, what I call a `lookup_path` is basically the path we follow to create the current lookup, the `prefetch_path` is the path this current prefetch is actually creating. For traditional lookups `prefetch_related('foo__bar__baz')` both are equal, but for `prefetch_related(Prefetch('foo__bar__baz', to_attr='baz_list'))`  `lookup_path == 'foo__bar__baz'` and  `prefetch_path == 'foo__bar__baz_list'`.