我一直这样做:
Model.objects.filter(key1=value1)\
.exclude(key2=value2)\
.order_by('key3')\
.select_related(depth=1)
但我讨厌\
。有更清洁的风格吗?
答案 0 :(得分:5)
或者,你可以利用Django QuerySet操作是累积的,懒惰的事实:
myobjects = Model.objects.filter(key1=value1)
myobjects = myobjects.exclude(key2=value2)
myobjects = myobjects.order_by('key3')
myobjects = myobjects.select_related(depth=1)
答案 1 :(得分:4)
Parens会阻止Python在关闭之前将其分解。
(
Model.objects.filter(key1=value1)
.exclude(key2=value2)
.order_by('key3')
.select_related(depth=1)
)
答案 2 :(得分:4)
就像伊格纳西奥说的那样,但你也可以关闭下一行的parens,而不是把整个事情包起来。
Model.objects.filter(key1=value1
).exclude(key2=value2
).order_by('key3'
).select_related(depth=1)