1
我使用Django 1.8和Python 3.4类型错误:对象不是JSON序列化在Django 1.8的Python 3.4
当以下观点正在跑,Django的抛出类型的错误 - 对象不是JSON序列化
Views.py
from django.http import HttpRequest,HttpResponse
from django.http import JsonResponse
from json import dumps
def get_stats(request):
if request.method == "POST":
srch_dropV = request.POST['srch_dropAJ']
else:
srch_dropV = ''
if(srch_dropV == 'Green'):
students = GreenBased.objects.all()
if(srch_dropV == 'Yellow'):
students = YellowBased.objects.all()
response_data = {}
try:
response_data['result'] = 'Success'
response_data['message'] = list(students)
except:
response_data['result'] = 'Ouch!'
response_data['message'] = 'Script has not ran correctly'
return HttpResponse(JsonResponse(response_data), content_type="application/json")
我试图从MySQL数据库中读取几排和HTML文件显示它,我面临以下错误消息,当上述观点正在跑
TypeError: YellowBased: YelloBased object is not JSON serializable
在HTML页面中,我有一个下拉列表..根据选择的选项,我的Ajax将返回从mysql表中获取的记录。
Models.py
class GreenBased(models.Model):
NumOfStudents = models.CharField(max_length=300,blank=True)
Green = models.CharField(max_length=300,blank=True)
class Meta:
managed = False
db_table = "GreenStats"
class YelloBased(models.Model):
NumOfStudents = models.CharField(max_length=300,blank=True)
Yellow = models.CharField(max_length=300,blank=True)
class Meta:
managed = False
db_table = "YellowStats"
GreenStats和YellowStats表包含在MySQL 只有2 * 2行有人可以帮我找出这个问题?
你检查了吗? http://stackoverflow.com/q/16790375/4724196 – HassenPy
我已经查过了。在DJango 1.8中,Json库已被更改,我失去了一些东西:(..线路response_data ['message'] =列表(学生)似乎在视图中失败。我试图解决这个问题,但 – user3128771
对不起,此行失败返回HttpResponse(JsonResponse(response_data),content_type =“application/json”) – user3128771