我需要能夠全局替換django結果中的某些數據並對其執行操作。替換django結果/覆蓋操作數據
我已經有一個基於另一個數據庫做排除的自定義管理器,例如CRMData.filtered_obj,它可以正常工作,但是我有需要某些事情分組的實例,然後我需要執行新分組的總數/計數,例如我得到一個使用結果註釋(計數(名)),例如:
比薩20 啤酒5 茶3個 書呆子2
再舉例來說,我需要比薩餅和啤酒的結合,從而列表變成: 啤酒&披薩25 茶3 Nerds 2 Banana 1
而且該列表現在必須填充下一個最高數字。
我已經嘗試做這樣的事情:
CRMData.objects.extra(select={'name1': 'case name where "Beer" OR "Pizza" then "Beer & Pizza" else name'})
結果且與額外的列輸出,但我無法執行
CRMData.objects.extra(select={'name1': 'case name where "Beer" OR "Pizza" then "Beer & Pizza" else name'}).values('name1').annotate(Count('name1'))
當我得到一個:
Cannot resolve keyword 'name1' into field
我已經嘗試了一些不同的東西,比如將.group_by()添加到最後,但我仍然得到相同的錯誤。
理想情況下,我希望能夠使用queryset方法進行事務處理,因爲圍繞它構建了很多預先存在的代碼,目標是將此作爲自定義管理器方法添加到其他方法之前,但我不確定如果這是可能的。
我玩弄了將結果放到熊貓數據框中的想法,並使用它,但如果任何人有任何建議,如果這是不可能的,我會很感激,雖然這將意味着很多重寫代碼。
感謝先進!