Your initial statement
if query.orderby:
in light of your answer to a comment of mine
orderby
need not be present always
is not what you want... look at this interactive session
In [1]: class Query(): pass
In [2]: query = Query()
In [3]: query.orderfrom = 1
In [4]: if query.orderfrom: print(1)
1
In [5]: if query.orderby: print(1)
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-5-27f5f9b9569b> in <module>()
----> 1 if query.orderby: print(1)
AttributeError: 'Query' object has no attribute 'orderby'
In [6]:
My recommends are either a try
... except
clause
try:
orderby = query.orderby
except AttributeError:
orderby = []
for q in orderby:
if 'severity' in q:
...
or a solution based on getattr()
, as proposed by Andriy Ivaneyko, but simpler
# use getattr to have the attribute OR a convenient, here [], default.
orderby = getattr(query, 'orderby', [])
for q in orderby:
if 'severity' in q:
...