Из чтения PEP-8 я получаю, что вы должны поместить закрывающую скобку в ту же строку, что и последний аргумент в вызовах функций:
ShortName.objects.distinct().filter(
product__photo__stockitem__isnull=False)
Вероятно, длинные выражения лучше всего избегать. Но если это нежелательно, , как вы можете использовать вызовы с несколькими цепями? Должен ли закрытый парик быть на новой строке?
ShortName.objects.distinct().filter(
product__photo__stockitem__isnull=False
).values_list('value', flat=True)
Как насчет методов без аргументов? Как записать их на несколько строк без ссылки на промежуточные возвращаемые значения?
ShortName.objects.distinct(
).filter().values() # looks ugly
Обновление: существует дублированный вопрос Как разбить цепочку цепочечных методов на Python?. принятый ответ предлагает знакомый стиль jQuery для начала каждой новой строки с точкой. Автор не дает никаких оснований или авторитетных ссылок, поэтому я хотел бы получить подтверждение по такому стилю или альтернативе.