simplify Q() operations
This commit is contained in:
parent
40429aa580
commit
0c46ff3541
|
@ -80,23 +80,13 @@ def talk_list(request):
|
||||||
talks = talks.filter(reduce(lambda x, y: x | y, [Q(topics__slug=topic) for topic in data['topic']]))
|
talks = talks.filter(reduce(lambda x, y: x | y, [Q(topics__slug=topic) for topic in data['topic']]))
|
||||||
if len(data['track']):
|
if len(data['track']):
|
||||||
show_filters = True
|
show_filters = True
|
||||||
q1 = None
|
q = Q()
|
||||||
q2 = None
|
|
||||||
if 'none' in data['track']:
|
if 'none' in data['track']:
|
||||||
data['track'].remove('none')
|
data['track'].remove('none')
|
||||||
q1 = Q(track__isnull=True)
|
q |= Q(track__isnull=True)
|
||||||
if len(data['track']):
|
if len(data['track']):
|
||||||
q2 = Q(track__slug__in=data['track'])
|
q |= Q(track__slug__in=data['track'])
|
||||||
if q1 and q2:
|
talks = talks.filter(q)
|
||||||
q = q1 | q2
|
|
||||||
elif q1:
|
|
||||||
q = q1
|
|
||||||
elif q2:
|
|
||||||
q = q2
|
|
||||||
else:
|
|
||||||
q = None
|
|
||||||
if q:
|
|
||||||
talks = talks.filter(q)
|
|
||||||
if data['vote'] != None:
|
if data['vote'] != None:
|
||||||
if data['vote']:
|
if data['vote']:
|
||||||
talks = talks.filter(vote__user=request.user)
|
talks = talks.filter(vote__user=request.user)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user