On Fri, Jun 19, 2009 at 11:31 AM, IanR <[email protected]> wrote: > > Seems to work fine if I build the query using Q's and then only use > filter one. > > On Jun 19, 11:33 am, IanR <[email protected]> wrote: > > Anyone have any ideas? > > > > q2 and q3 should return the same results. > > > > >>> from testing.models import Building > > >>> from testing.models import Unit > > >>> b1 = Building(name="Bld 1") > > >>> b1.save() > > >>> u1 = Unit(building=b1,bedrooms=1,bathrooms=1) > > >>> u1.save() > > >>> u2 = Unit(building=b1,bedrooms=2,bathrooms=3) > > >>> u2.save() > > >>> q1 = Building.objects.filter(unit__bedrooms=1) > > >>> q2 = q1.filter(unit__bathrooms=3) > > >>> q3 = Building.objects.filter(unit__bedrooms=1,unit__bathrooms=3) > > > > >>> print q2 > > > > [<Building: Building object>]>>> print q3 > > [] > > >>> print q2.query.as_sql() > > > > ('SELECT "testing_building"."id", "testing_building"."name" FROM > > "testing_building" INNER JOIN "testing_unit" ON > > ("testing_building"."id" = "testing_unit"."building_id") INNER JOIN > > "testing_unit" T3 ON ("testing_building"."id" = T3."building_id") > > WHERE ("testing_unit"."bedrooms" = %s AND T3."bathrooms" = %s )', (1, > > 3))>>> print q3.query.as_sql() > > > > ('SELECT "testing_building"."id", "testing_building"."name" FROM > > "testing_building" INNER JOIN "testing_unit" ON > > ("testing_building"."id" = "testing_unit"."building_id") WHERE > > ("testing_unit"."bedrooms" = %s AND "testing_unit"."bathrooms" = > > %s )', (1, 3)) > > > > > > > > > > > No, they shouldn't return the same results, this is documented here: http://docs.djangoproject.com/en/dev/topics/db/queries/#spanning-multi-valued-relationships
Alex -- "I disapprove of what you say, but I will defend to the death your right to say it." --Voltaire "The people's good is the highest law."--Cicero --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~----------~----~----~----~------~----~------~--~---

