Я делал это:
Model.objects.filter(key1=value1)\ .exclude(key2=value2)\ .order_by('key3')\ .select_related(depth=1)
но я ненавижу \. Есть ли стиль чище?
\
Или вы можете воспользоваться тем, что операции Django QuerySet являются кумулятивными и ленивыми:
myobjects = Model.objects.filter(key1=value1) myobjects = myobjects.exclude(key2=value2) myobjects = myobjects.order_by('key3') myobjects = myobjects.select_related(depth=1)
Как сказал Игнасио, но вы также можете закрыть парены в следующей строке вместо того, чтобы обернуть все это.
Model.objects.filter(key1=value1 ).exclude(key2=value2 ).order_by('key3' ).select_related(depth=1)
Паренс не даст Python разбить его, пока он не закроется.
( Model.objects.filter(key1=value1) .exclude(key2=value2) .order_by('key3') .select_related(depth=1) )