let's say i have the following fields
class ABC(models.Model)
whatever=models.ManyToManyField('DEF')
class DEF(models.Model)
something=models.CharField()
I want to retrieve ABC along side each DEF it's connected to, why i cannot do this ?
ABC.objects.filter(pk=123).select_related('DEF').get()
I believe we can do this in one SQL query like so
select * from ABC inner join ABC_DEF on ABC.id = ABC_DEF.ABC_ID inner join
DEF on DEF.id = ABC_DEF.DEF_ID
I know we can do prefetch but this will result in an extra query