For example, I have models as,
class ModelBManager(models.Manager):
def get_queryset(self):
return self.super().get_queryset().select_related('y')
class ModelA(models.Model):
x = models.TextField()
class ModelB(models.Model):
y = models.ForeignKey(ModelA)
objects = ModelBManager()
class ModelC(models.Model):
z = models.ForeignKey(ModelB)
Now, if i do ModelC.objects.get(id=1).z
i would get the ModelB
instance with a prefetched ModelA
instance( ModelBManager
worked).
But if i do ModelC.objects.select_related('z')[0].z
, there would be no prefetched ModelA
instance with ModelB
instance.(Basically ModelBManager
did not work!)
Anyone has any idea how can i achieve this?
Thanks