我一直在做這樣的:有沒有更清晰的方式來鏈接Django ORM的過濾器?
Model.objects.filter(key1=value1)\
.exclude(key2=value2)\
.order_by('key3')\
.select_related(depth=1)
,但我恨\
。有更清潔的風格嗎?
我一直在做這樣的:有沒有更清晰的方式來鏈接Django ORM的過濾器?
Model.objects.filter(key1=value1)\
.exclude(key2=value2)\
.order_by('key3')\
.select_related(depth=1)
,但我恨\
。有更清潔的風格嗎?
或者,你可以採取的一個事實,即Django的查詢集操作是累積的,懶惰的優勢:
myobjects = Model.objects.filter(key1=value1)
myobjects = myobjects.exclude(key2=value2)
myobjects = myobjects.order_by('key3')
myobjects = myobjects.select_related(depth=1)
Parens將阻止Python分解直到關閉。
(
Model.objects.filter(key1=value1)
.exclude(key2=value2)
.order_by('key3')
.select_related(depth=1)
)
就像伊格納西奧說的那樣,但是你也可以在下一行關閉包裹,而不是包裹整個東西。
Model.objects.filter(key1=value1
).exclude(key2=value2
).order_by('key3'
).select_related(depth=1)
這是關係到Python比Django的更多... – vad 2011-04-27 05:57:39