我正在開發一個使用Django的Web應用程序。在其他表中,我有一個名爲GeneralContract的表,它具有issueDate和Expiration Date作爲日期字段。Django過濾器使用兩個條件
我想知道保險代理人的利潤在我的情況下會從一段時間內從這些合同中獲得。例如,如果日期範圍是2015年1月15日 - 2015年2月25日我想過濾在此期間之間每年發行的所有GeneralContract對象。 (即issueDate__month = Date1.month AND IssueDate.day_gte= Date1.day) AND (IssueDate__month = Date2.month AND IssueDate.day_lte = Date2.day)
??
我嘗試以下,但它不給我我想要的結果,我不知道如果我在正確的語法寫這個,或者如果我的邏輯是錯誤的。
criterion1 = Q(issuedate__month=date1.month)
criterion2 = Q(issuedate__day__gte=date1.day)
criterion3 = Q(issuedate__month=date2.month)
criterion4 = Q(issuedate__day__lte=date2.day)
criterionA = criterion1 & criterion2
criterionB = criterion3 & criterion4
criterionC = criterionA & criterionB
currentGenProfits = GeneralContract.objects.filter(criterionC, cancelled=False)
這是做這個過濾邏輯的正確方法嗎?
檢查由django orm生成的查詢。你可以得到一些提示。 'print(currentGenProfits.query)' – alfredo138923
謝謝我會檢查出來。你認爲這是正確的方式來查詢任何年份的日期範圍內的條目嗎? –
這個時期之間的任何一年的含義是什麼,目前尚不清楚。你能不能把相關的數據例子放進去。還要注意這個書面代碼沒什麼意義:)。 – iklinac