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”。 –