Как насчет чего-то типа:
if all([form1.is_valid(), form2.is_valid()]):
...
В общем случае можно было бы использовать понимание списка, чтобы результаты вычислялись спереди (в отличие от выражения генератора, которое обычно используется в этом контекст). например:
if all([ form.is_valid() for form in (form1,form2) ])
Это будет хорошо масштабироваться и для произвольного количества условий ... Единственный улов в том, что все они должны быть связаны «and
», в отличие от if foo and bar or baz: ...
.
(для короткого замыкания or
вы можете использовать any
вместо all
).