17π
β
What I do in such situations is to use prefetch-related
a_qs = A.objects.all().prefetch_related(
models.Prefetch('b_set',
# NOTE: no need to filter with OuterRef (it wont work anyway)
# Django automatically filter and matches B objects to A
queryset=B_queryset,
to_attr='b_records'
)
)
Now a.b_records
will be a list containing a's
related b
objects. Depending on how you filter your B_queryset
this list may be limited to only 1 object.
π€Todor
Source:stackexchange.com