Hi,
A while ago I stumbled on a bug with OR lookups, but Malcolm had
apparently fixed it in the queryset-refactor branch [1]. However I've
just got a similar issue. Is that still a bug or am I mis-using it?
Here's my model:
class Contact(models.Model):
requesting_user = models.ForeignKey(User,
related_name='contacts_has_requested')
requested_user = models.ForeignKey(User,
related_name='contacts_was_requested')
is_blocked = models.BooleanField(default=False)
Now the test code:
q1 = Q(contacts_was_requested__is_blocked=False,
contacts_was_requested__requesting_user=self)
p1=User.objects.filter(q1)
=> returns: QuerySet: []
q2 = Q(contacts_has_requested__is_blocked=False,
contacts_has_requested__requested_user=self)
p2=User.objects.filter(q2)
=> returns: QuerySet: [<User: user_5>]
p3=User.objects.filter(q1 | q2)
=> returns: QuerySet: []
Shouldn't the '|' sign do a union of the two intermediary querysets?
Am I missing something?
Thanks a lot,
Julien
[1]
http://groups.google.com/group/django-users/browse_thread/thread/a4679cb9a42c6ba1/1e76718aa0097628?lnk=gst&q=julien+q+malcolm+bug#1e76718aa0097628