Взять под контроль select_related - PullRequest
0 голосов
/ 08 мая 2019

Мне нужно получить последнее изображение создателя для каждого события.

Например, у меня есть 3 модели:

class Event(..):
   create_by = ForeignKey(User, related_name='events_set')

class User(..):
...

class ProfileImage(..):
   user = ForeignKey(User, related_name='profile_images_set')
   image = ImageField(..)

Так что мне нужно получить подробную информацию о событии, яу меня есть такая хитрость:

Event.objects.all().prefetch_related('..').select_related('created_by')

Проблема в том, что мне также нужно получить последнее изображение создателя события.Я пытался Prefetch, но он работает только для управления prefetch_related.Как то так:

Event.objects.all().prefetch_related('..').select_related(Prefetch('created_by', queryset=User.objects.latest('pk').prefetch_related('profile_images_set'))
...