【问题标题】:Json count query, how to pass only the counted value?Json计数查询,如何只传递计数值?
【发布时间】:2021-08-04 23:41:24
【问题描述】:

所以基本上,我的问题是查询数据的这个json通过计数的汽车品牌的计数,无论如何我只能通过计数的部分?

这是我的观点,带有查询

class DadosDeGrafico1(APIView):
authentication_classes = []
permission_classes = []
def get(self, request, format=None):
    data1 = DataDB.objects.values_list('marca').distinct()
    data2 = DataDB.objects.values_list('marca').annotate(marcas=Count('marca'))
    contexto = {
    'data1':data1,
    'data2':data2
    }
    return Response(contexto)

基本上查询的结果应该只有2和6

【问题讨论】:

    标签: json django django-models


    【解决方案1】:

    您可以添加valuesvalues_list 以获得您想要的值

    data2 = DataDB.objects.values('marca').annotate(marcas=Count('marca')).values_list('marcas')
    

    但请注意,使用这种数据结构,您将不知道每个数字与哪个“marca”对应。不保证第一个和第二个查询以相同的顺序返回数据。如您所见,它们不在您的示例输出中。

    【讨论】:

    • 是的。我考虑到了这一点,前端的家伙哭了一点,所以我们到了。尽管如此,还是感谢您的帮助
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-11-12
    • 2020-09-03
    • 1970-01-01
    • 2013-01-14
    • 1970-01-01
    • 1970-01-01
    • 2017-01-23
    相关资源
    最近更新 更多