Как сделать предварительную выборку связанного с тремя моделями django

ЭТО МОЯ ПЕРВАЯ МОДЕЛЬ:

class CSSIGroup(models.Model):
    GroupName =  models.CharField(max_length=250)
    EnteredBy = models.CharField(max_length=250)
    UpdateBy = models.CharField(max_length=250,null=True)
    EntryDateTime = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return self.GroupName

ЭТО МОЯ ВТОРАЯ МОДЕЛЬ:

class CSSIList(models.Model):
    CSSIGroup = models.ForeignKey(CSSIGroup,null=False, on_delete=models.RESTRICT)
    CSSIName = models.CharField(max_length=250)
    FatherName = models.CharField(max_length=250,null=True)
    MotherName = models.CharField(max_length=250,null=True)
    BloodGroup = models.ForeignKey(Setup_Master.BloodGroupList, null=True, on_delete=models.SET_NULL)
    BirthDate = models.DateTimeField(null=True)
    ReligionStatus = models.ForeignKey(Setup_Master.ReligionList,  null=True, on_delete=models.SET_NULL)
    Sex = models.ForeignKey(Setup_Master.GenderList, null=True, on_delete=models.SET_NULL)
    MeritStatus = models.ForeignKey(Setup_Master.MaritalStatus, null=True, on_delete=models.SET_NULL)

ЭТО МОЯ ТРЕТЬЯ МОДЕЛЬ:

class Challan(models.Model):
    Branch = models.ForeignKey(Setup_Master.CompanyBranchList, null=True, on_delete=models.RESTRICT)
    CustomerID = models.ForeignKey(CSGL.CSSIList, related_name='CustomerWiseChallan',  null=False, on_delete=models.RESTRICT)
    RefNo = models.CharField(max_length=250,null=True)
    Remarks = models.CharField(max_length=250, null=True)
    OrderReceiveID = models.CharField(max_length=250, null=True)
    Narration = models.CharField(max_length=250, null=True)
    MPOID = models.ForeignKey(CSGL.CSSIList, related_name='ChallanMPO', null=True, on_delete=models.RESTRICT)
    ChallanDate = models.DateField(null=True)
    EnterdBy = models.CharField(max_length=250, null=True)
    EntryTime = models.DateTimeField(auto_now_add=True)
    EntryDate = models.DateTimeField(auto_now_add=True)
    ApprovedBy = models.CharField(max_length=250, null=True)
    Approved = models.CharField(max_length=10, null=True, default='NO')
    ApprovedDate = models.DateField(null=True)
    Status = models.CharField(max_length=250, null=True, default='NO')

Я хочу выбрать первую таблицу со второй строкой, связанной с таблицей, и вторую таблицу с третьей строкой, связанной с таблицей.

Вот мой текущий запрос, но я не знаю, как я могу добавить еще один запрос, связанный с предварительной выборкой. Пожалуйста, кто-нибудь помогите мне.

ChallanList = CSSIGroup.objects.all().prefetch_related(
            Prefetch('cssilist_set',queryset=CSSIList.objects.all().exclude(id__in = ExcludeList),to_attr='prefetched_cssi'),
        )
Вернуться на верх