I am trying to create multi Model Left join using django
Here is my model class LookupTiming(models.Model): day = models.CharField(max_length=7) time_1 = models.TimeField() time_2 = models.TimeField() class Meta: db_table = u'lookup_timing' class Streets(models.Model): name = models.CharField(max_length=50) point = models.GeometryField(null=True, blank=True) objects = models.GeoManager() class Meta: db_table = u'streets' def __unicode__(self): return '%s' % self.name class StreetTimings(models.Model): street= models.ForeignKey(Streets) lookuptiming = models.ForeignKey(LookupTiming) class Meta: db_table = u'street_timings' This is query that i have created Streets.objects.filter(streettimings_*isnull=True).filter(streettimings* _lookuptiming__isnull=True).values('id') This is sql output of above query SELECT "streets"."id" FROM "streets" LEFT OUTER JOIN "street_timings" ON ( "streets"."id" = "street_timings"."street_id" ) LEFT OUTER JOIN "street_timings" T3 ON ( "streets"."id" = T3."street_id" ) WHERE ("street_timings"."id" IS NULL AND T3."lookuptiming" IS NULL) But i want following query select st.id from streets st LEFT JOIN street_timings timing on timing.street_id = st.id LEFT JOIN lookup_timing lt on lt.id = timing.lookuptiming_id So problem is that, the django query total ignore *lookuptiming* Model. I want to create following joins Streets(id) = StreetTimings (street_id) LookupTiming (id) = StreetTimings (lookuptiming_id) How can i create left join for multiple models? Thank you -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscr...@googlegroups.com. To post to this group, send email to django-users@googlegroups.com. Visit this group at http://groups.google.com/group/django-users. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/50df8abf-f539-4c08-8211-d40a35e43cc3%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.