最佳答案
通过阅读 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 类似的风格,即在每一行开始时使用一个点。作者没有提供任何理由或权威的参考,所以我想得到这样的风格或替代方案的确认。