À la lecture de la PEP-8, je reçois ce que vous devriez mettre la parenthèse fermante sur la même ligne que le dernier argument dans les appels de fonction:
ShortName.objects.distinct().filter(
product__photo__stockitem__isnull=False)
Probablement, à long expressions sont les meilleurs pour éviter à tout. Mais si elle est indésirable, comment vous y prendriez-vous plusieurs enchaîné les appels de méthode? Si la parenthèse fermante être sur une nouvelle ligne?
ShortName.objects.distinct().filter(
product__photo__stockitem__isnull=False
).values_list('value', flat=True)
Qu'en est aucun des arguments des méthodes? Comment écrire sur plusieurs lignes sans faire référence à l'intermédiaire en valeurs de retour?
ShortName.objects.distinct(
).filter().values() # looks ugly
Mise à jour: Il y a une double question de savoir Comment briser une ligne de enchaînés méthodes en Python?. La accepté de répondre suggère un familier de jQuery style de départ de chaque nouvelle ligne avec un point. L'auteur ne fournit pas de raisons ou de référence, alors j'aimerais avoir une confirmation sur un tel style ou un autre.