Обратный поиск внутри набора запросов в django

У меня есть три модели в моем приложении Django.

# models.py 
class Membership(models.Model):
    field1
    field2

class MembershipServiceDetails(models.Model):
    membership = models.ForeignKey(Membership, on_delete=models.CASCADE,related_name="msd_services")
    service = models.ForeignKey(Service,blank=True, null=True, on_delete=models.CASCADE)
    field3

class MembershipSubscriber(models.Model):
    membership = models.ForeignKey(Membership, blank=True, null=True, on_delete=models.CASCADE)
    customer = models.ForeignKey(Customer, blank=True, null=True, on_delete=models.CASCADE)
    field4

Теперь я хочу запросить данные сервиса с данными о клиентах. Но модели связаны только через Membership.

Я пытаюсь сделать что-то вроде этого

    service_details = MembershipServiceDetails.objects.select_related('membership', 'service').annotate(
        service_data=F('membership').membershipsubscriber_set.first()
    )

Очевидно, что это не сработало. Как этого можно добиться? Любая помощь будет принята с благодарностью.

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