Django select_related по множественному наследованию
Я пытаюсь использовать select_related
на многостольном поиске наследования.
Мой код имеет некоторые недостатки и задаюсь вопросом, есть ли лучшее решение
class Parent(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL)
class Child(models.Model):
pass
С приведенным выше определением класса я хотел бы сериализовать родителей (разнородных)
parents = Parent.objects.all().select_related('user', 'child')
for parent in parents:
parent.child.user # <-- another db access, nullifies select_related('user')
# i'm passing parent.child to ChildSerializer() which expects child object, and it access the user, so it's parent.child.user
я могу сделать
Parent.objects.all().selecte_related('child__user')
но у него есть своя проблема, когда есть несколько дочерних моделей (требуется объединение для каждого дочернего класса)