Re: How to concatenate a list of Q objects?

2014-05-29 Thread Степан Дибров
from django.db.models import Q import operator qs = SomeModel.objects.all() # use reduce rules = [] for rule_key, rule_value in calculated_rules: rules.append(Q(rule_key=rule_value)) if rules: qs = qs.filter(reduce(operator.or_, rules)) # not use it q_collect = None for rule_key,

Re: How to concatenate a list of Q objects?

2013-02-12 Thread Andreas Karlsson
Even better: from operator import __or__ reduce(__or__, filters) Den onsdagen den 7:e april 2010 kl. 20:56:47 UTC+2 skrev Daniel: > > Thanks alot guys. If I can be honest, I'm having a little trouble > digesting just this one line: > > q = q | f if q else f > > That line of code only allows (q1

Re: How to concatenate a list of Q objects?

2010-04-09 Thread dfolland
If you are looking for "OR" then use the "Q object". see http://docs.djangoproject.com/en/dev/topics/db/queries/#complex-lookups-with-q-objects On Apr 7, 11:39 am, Daniel wrote: > Hi, > > Thank you for your help everyone.  I know that I need to learn python > better, and

Re: How to concatenate a list of Q objects?

2010-04-09 Thread Tom Evans
On Thu, Apr 8, 2010 at 6:02 PM, Daniel wrote: > Thank you, Tom.  I understand now.  I come from java and I was not > aware that such a syntax is allowed.  I got the Q objects part of my > app working thanks to you guys. > Just to clarify: python: a = c if b else d

Re: How to concatenate a list of Q objects?

2010-04-08 Thread Daniel
Thank you, Tom. I understand now. I come from java and I was not aware that such a syntax is allowed. I got the Q objects part of my app working thanks to you guys. On Apr 8, 8:08 am, Tom M wrote: > Just to explain > > q = q | f if q else f > > is using the short

Re: How to concatenate a list of Q objects?

2010-04-08 Thread Jared Forsyth
Ok, if I understand correctly, you *don't want* to bitwise OR "|" them short answer: qObjects = [qObject1, qObject2, qObject3] Sample.objects.filter(*qObjects) note the "*". This tells python "expand this list as arguments". cheers Jared On Thu, Apr 8, 2010 at 6:08 AM, Tom M

Re: How to concatenate a list of Q objects?

2010-04-08 Thread Tom M
Just to explain q = q | f if q else f is using the short version of if/else, so let's expand that: if q: q = q | f else: q = f q is only False when you have a Q object with no parameters i.e. Q() and as you may have seen above | means OR. This is because the Q object implements the

Re: How to concatenate a list of Q objects?

2010-04-08 Thread greatlemer
On Apr 7, 6:26 pm, Vinicius Mendes wrote: > On Wed, Apr 7, 2010 at 2:00 PM, Tom Evans wrote: > > On Wed, Apr 7, 2010 at 5:39 PM, Daniel wrote: > > > Hi, > > > > Thank you for your help everyone.  I know that I need to learn

Re: How to concatenate a list of Q objects?

2010-04-07 Thread Vinicius Mendes
If you want to mix AND and OR, you will have to do this manually: q = (q1 | q2) & q3 __ Vinícius Mendes Solucione Sistemas http://solucione.info/ On Wed, Apr 7, 2010 at 3:56 PM, Daniel wrote: > Thanks alot guys. If I can be honest, I'm having a

Re: How to concatenate a list of Q objects?

2010-04-07 Thread Daniel
Thanks alot guys. If I can be honest, I'm having a little trouble digesting just this one line: q = q | f if q else f That line of code only allows (q1 | q2 | q3), right? It will not allow mixing "AND" as well as "OR" (i.e., q1 & q2 | q3)? Thanks! On Apr 7, 1:26 pm, Vinicius Mendes

Re: How to concatenate a list of Q objects?

2010-04-07 Thread Vinicius Mendes
On Wed, Apr 7, 2010 at 2:00 PM, Tom Evans wrote: > On Wed, Apr 7, 2010 at 5:39 PM, Daniel wrote: > > Hi, > > > > Thank you for your help everyone. I know that I need to learn python > > better, and I did read those articles. What is still a bit

Re: How to concatenate a list of Q objects?

2010-04-07 Thread Tom Evans
On Wed, Apr 7, 2010 at 5:39 PM, Daniel wrote: > Hi, > > Thank you for your help everyone.  I know that I need to learn python > better, and I did read those articles.  What is still a bit unclear to > me, though, is how could I add an "OR" or "AND" separator between Q >

Re: How to concatenate a list of Q objects?

2010-04-07 Thread Daniel
Hi, Thank you for your help everyone. I know that I need to learn python better, and I did read those articles. What is still a bit unclear to me, though, is how could I add an "OR" or "AND" separator between Q objects? So I have a list of qobjects like [qObj1, qObj2, qObj3]. What I want is

Re: How to concatenate a list of Q objects?

2010-04-06 Thread Vinicius Mendes
I recommend you to read more documentation about python. It's a basic python feature. You can read more about it here: http://www.saltycrane.com/blog/2008/01/how-to-use-args-and-kwargs-in-python/ Try this: Sample.objects.filter(*qObjects) __ Vinícius Mendes Solucione

Re: How to concatenate a list of Q objects?

2010-04-05 Thread Aaron
Sample.objects.filter(*qObjects) On Apr 6, 1:10 am, Daniel wrote: > Hi, I think that this must be super easy, but I'm kind of stumped. > > I have a list qObjects = [qObject1, qObject2, qObject3] > What I'd like is to form this query:  Sample.objects.filter(qObject1, >

Re: How to concatenate a list of Q objects?

2010-04-05 Thread Masklinn
On 6 avr. 2010, at 07:10, Daniel wrote: Hi, I think that this must be super easy, but I'm kind of stumped. I have a list qObjects = [qObject1, qObject2, qObject3] What I'd like is to form this query: Sample.objects.filter(qObject1, qObject2, qObject3) How would I

How to concatenate a list of Q objects?

2010-04-05 Thread Daniel
Hi, I think that this must be super easy, but I'm kind of stumped. I have a list qObjects = [qObject1, qObject2, qObject3] What I'd like is to form this query: Sample.objects.filter(qObject1, qObject2, qObject3) How would I accomplish what I need? Thanks! -- You received this message because