I have three models in my Django app.
# 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
Now I want to query the service data with customers details. But the models are related through Membership
only.
I'm trying something like this
service_details = MembershipServiceDetails.objects.select_related('membership', 'service').annotate(
service_data=F('membership').membershipsubscriber_set.first()
)
Obviously it didn't work. How can this be achieved? Any help would be appreciated.