Могу ли я использовать метод select_related Django QuerySet в обратных отношениях?

class A(Model):
  pass


class B(Model):
  a = ForeignKey(A)


B.objects.select_related("a")  # this works
A.objects.select_related("b")  # this doesn't

Как заставить работать вторую строку? Есть ли способы сделать то же самое другими способами?

Вам необходимо использовать prefetch_related, поскольку может быть несколько экземпляров B, ссылающихся на один и тот же A экземпляр

A.objects.prefetch_related("b_set")

https://stackoverflow.com/a/31237071/3862325

https://docs.djangoproject.com/en/4.0/ref/models/querysets/#prefetch-related

Вернуться на верх