對於我的一個客戶端,我從Django Admin生成客戶端列表。它按客戶的狀態分爲客戶,當前客戶,後天客戶和過去客戶。Django和SQL問題:減少數據庫點擊次數
目前,該列表視圖代碼如下:
def clients_list(request):
current_clients = Client.objects.all().filter(status='current')[:10]
acquired_clients = Client.objects.all().filter(status='acquired')[:10]
past_clients = Client.objects.all().filter(status='past')[:10]
return render_to_response('clients/list.html', {
'current_clients': current_clients,
'acquired_clients': acquired_clients,
'past_clients': past_clients
})
現在,我知道,因爲它擊中了數據庫的三倍時,我敢肯定有辦法做到這一點是不理想它只有一個查詢。是否有可能重構這段代碼,使它只碰到數據庫一次,並使用Python將結果分成這三個變量?或者我只是在我的應用程序的一小部分中強調太多?
感謝,
馬特
速度慢嗎?如果沒有,去一個並在其他地方優化。 – ebo 2009-07-13 19:33:49