0
我從我的視圖返回一個json對象到我的客戶端。Django - queryset值爲相同模型的每個類別多次返回相同的模型
因此,爲了保持代碼儘可能簡單,這裏是我做的:
def get(self, request, *args, **kwargs):
inspirations = Inspiration.objects.active_translations(get_language()).filter(publish=True)
inspirationsFilter = inspirations.values('translations__title',
'translations__slug', 'categories__translations__name', 'main_image__file')
data = JsonResponse(list(inspirationsFilter), safe=False)
return HttpResponse(data, status=200, content_type='application/json')
但我這裏面臨的問題,這是一個,從只有一個類別和打印標題:
[('First Inspiration!', 'category1'), ('Hey max how are you', 'category2'), ('A third inspiration', 'category1'), ('A third inspiration', 'category2')]
正如你所看到的,「第三個靈感」有兩個關聯的類別,因此它返回每個類別的項目。
我想什麼有類似的東西:
...('A third inspiration', ['category1', 'category2'])]
,一類是由我創造了一個多對多模式場,譯本是從Django的parler一個多對多。
因此,你知道「concat」的解決方案嗎?或者我必須手動執行它? 我試過了values_list,但是回報是一樣的。
編輯:直到調用.values,模型查詢都是唯一的。
好的,我的確只是在「第三個靈感」上。但是當我想要將所有類別鏈接到它時,它只包含「category2」。 –