Python Django查询集不可序列化

Python Django查询集不可序列化,python,ajax,django,json,serialization,Python,Ajax,Django,Json,Serialization,我使用以下函数进行Ajax调用: 30 import json 31 32 def get_info(request): 33 run = Run.objects.values('nvp_build', 'lports', 'lswitch_stt') 34 measurements = Measurements.objects.values('maxfield') 35 apistats = APIStats.objects.values('num') 36

我使用以下函数进行
Ajax
调用:

 30 import json
 31
 32 def get_info(request):
 33    run = Run.objects.values('nvp_build', 'lports', 'lswitch_stt')
 34    measurements = Measurements.objects.values('maxfield')
 35    apistats = APIStats.objects.values('num')
 36    clusterdata = ClusterData.objects.values('memory_usage')
 37 
 38    response_data = json.dumps(run)
 39    return HttpResponse(response_data, mimetype='application/json')
因此,当在my
views.py中调用该方法时,我得到:

 [{'lports': 4056, 'nvp_build': u'31559', 'lswitch_stt': 2000}, 
     {'lports': 102, 'nvp_build': u'30194', 'lswitch_stt': 40}, 
     {'lports': 4056, 'nvp_build': u'31299', 'lswitch_stt': 2000}, 
     {'lports': 4056, 'nvp_build': u'31350', 'lswitch_stt': 2000}, 
     {'lports': 4056, 'nvp_build': u'31481', 'lswitch_stt': 2000}, 
     {'lports': 4056, 'nvp_build': u'31489', 'lswitch_stt': 2000}, 
     {'lports': 4056, 'nvp_build': u'31494', 'lswitch_stt': 2000}, 
     {'lports': 4056, 'nvp_build': u'31559', 'lswitch_stt': 2000}] 
   is not JSON serializable
但是,当我手动运行它,并利用上面的数组并执行
json.dumps()
时,它会工作。。。 有什么线索吗?

使用django的内置:


希望对您有所帮助。

TypeError at/graphs/get\u info\uuuu init\uuuuuuuuu()获取了一个意外的关键字参数“mimetype”。。。我不知道为什么会出现这样的错误
mimitype
实际上现在(django 1.6)已被弃用。我已将其替换为
content\u type
。但是,不知道为什么它不能与
mimetype
一起使用。您是否有与我提供的相同的
HttpResponse
import语句?mimetype关键字参数有一段时间不推荐使用。使用content\u type代替您是否在代码中使用
json.dumps
,并使用
json.dumps
手动测试它们是不同的。@RaydelMiranda键入错误。。。它们是一样的
from django.core import serializers
from django.http import HttpResponse   


def get_info(request):
    data = serializers.serialize('json', 
                                 Run.objects.all(), 
                                 fields=('nvp_build', 'lports', 'lswitch_stt'))
    return HttpResponse(data, content_type='application/json')