Ваше первоначальное заявление
if query.orderby:
в свете your answer к коммент.
orderby
не обязательно присутствует
не то, что вы хотите ... смотреть на этой интерактивной сессии
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]:
Мой рекомендует либо оговорка try
... except
try:
orderby = query.orderby
except AttributeError:
orderby = []
for q in orderby:
if 'severity' in q:
...
или раствор на основе getattr()
, как было предложено Андреем Ивановичем, но проще
# use getattr to have the attribute OR a convenient, here [], default.
orderby = getattr(query, 'orderby', [])
for q in orderby:
if 'severity' in q:
...
какая логика в инструкции if? –
[Что означает «понимание списка» в Python? Как это работает и как я могу его использовать?] (Http://stackoverflow.com/q/34835951) –
Это зависит от того, что вы хотите сделать после последнего 'if'. – Kasramvd