Django JSON可序列化错误

时间:2010-03-31 12:10:10

标签: python django django-models django-views

使用以下代码,出现错误

      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 个答案:

答案 0 :(得分:2)

快速阅读是obj.lastname是Lastname模型而不是String。您可能需要说出类似的内容:

l_array_obj = [..., obj.lastname.value, .... ]

获取字符串值,而不是Model对象。

答案 1 :(得分:1)

您是否考虑过使用Django的own serialization functionality