On 08/27/2011 11:39 AM, graeme wrote: > I have a some models related link this: > > A has a foreign key on B which has a foreign key on C > > I also have D with a foreign key on B, and E with a foreign key of C > > If I do A.filter(**args).select_related() I will get all the As, Bs, > and Cs I want. > > How do I get the Ds with a foreign key on a B in my queryset > (preferably filtered) and all Es with a foreign key on C (also > preferably filtered) > > The best I have been able to come up with is to query for all the the > Ds and Es I want, and combine them with the Bs and Cs in the view. > > I have a similar problem with another site, except that there not > every B I want has an A with a foreignkey pointing to it, so I cannot > just do select_related on A. > > I am not worried about doing an extra query or two per page. What I > want to avoid is doing an extra query for each object in a lengthy > list. > You can 'or' two query sets with the '|' operator
so do queryset1 = Mymodel.objects.all().filter(...) qyeryset2 = Mymodel.objects.all().filter(...) combined = queryset1 | queryset2 -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.