我覺得這與previous question有關我問過,但這裏寫着:爲什麼我不能在值調用中使用Django的字段查找?
我正在使用Django的查詢集,並且有一些工作日期。在現在我的代碼我使用的是extra
電話,試圖提取一年,從日期的月份:
sum_qs = sum_qs.extra(select={'year': 'EXTRACT(year FROM date)', 'month': 'EXTRACT(month FROM date)','is_paid':'date_paid IS NOT NULL'})
sum_qs = sum_qs.values('client__name', 'subtotal_currency', 'is_paid','year', 'month')
不過,我試圖擺脫這一呼籲的對extra
,因爲它似乎考慮到django已經在幾年和幾個月的日期上進行了現場查詢,這有點無用。
所以不是我試圖做到以下幾點:
sum_qs = sum_qs.values('client__name', 'subtotal_currency', 'is_paid','date__year', 'date__month')
但在這裏我有點離奇的錯誤:
Join on field 'date' not permitted. Did you misspell 'year' for the lookup type?
首先我不是真的能破譯這個錯誤是什麼應該是這個意思。但是,我真的不可能以這種方式來度過這一年嗎?我主要想這樣做,因爲稍後我annotate
我的疑問與總和基於年份和月份的總和。