Django JSON可序列化错误
下面的代码出现了一个错误,提示信息是:
File "/home/user/web_pro/info/views.py", line 184, in headerview,
raise TypeError("%r is not JSON serializable" % (o,))
TypeError: <lastname: jerry> is not JSON serializable
在模型代码中
header(models.Model):
firstname = models.ForeignKey(Firstname)
lastname = models.ForeignKey(Lastname)
在视图代码中
headerview(request):
header = header.objects.filter(created_by=my_id).order_by(order_by)[offset:limit]
l_array = []
l_array_obj = []
for obj in header:
l_array_obj = [obj.title, obj.lastname ,obj.firstname ]
l_array.append(l_array_obj)
dictionary_l.update({'Data': l_array}) ;
return HttpResponse(simplejson.dumps(dictionary_l), mimetype='application/javascript')
这个错误是什么,怎么解决呢?
谢谢..
2 个回答
1
你有没有想过用Django自带的序列化功能呢?
2
简单来说,obj.lastname 是一个 Lastname 模型,而不是一个字符串。你可能需要这样做:
l_array_obj = [..., obj.lastname.value, .... ]
这样才能得到字符串的值,而不是模型对象。