По-моему, единственный способ - это все.
Определите связанное имя, и вы можете попробовать вот так. Псевдо пк А = пк
class A(models.Model):
class B(models.Model):
a = models.FK(A, related_name='related_B')
class C(models.Model):
b = models.FK(B, related_name='related_C')
class D(models.Model):
b = models.FK(B, related_name='related_D')
a = A.objects.get(pk=pk)
results = []
results.append(a.related_B.all())
for item in a.related_B.all():
results.append(item.related_C.all())
results.append(item.related_D.all())
и результаты теперь имеют все связанные экземпляры каждой дочерней модели A.
Обруч это помощь