【问题标题】:Django - JSON serializers.serialize not workingDjango - JSON serializers.serialize 不工作
【发布时间】:2012-12-16 03:15:32
【问题描述】:

我在views.py 中有以下代码,我想获取完整的人员列表。

def all_json_persons(request, state):
    print "current_state--" + str(state)
    current_state = State.objects.get(id=state)
    print "current_state--" + str(current_state)
    districts = District.objects.all().filter(state=state)
    print "districts--" + str(districts)
    personsList = []
    for current_district in districts:
       villages = Address.objects.all().filter(district=current_district) 
       for current_village in villages:
          persons = Person.objects.all().filter(address=current_village)
          print "persons--" + str(persons)
          personsList.append(persons)  
    print "personsList--" + str(personsList)
    json_persons = serializers.serialize("json", personsList)
    print "json_persons--" + json_persons
    return HttpResponse(json_persons, mimetype="application/javascript")

在终端返回如下结果:

current_state--2
current_state--Odisha
districts--[<District: Jagatsighpur>, <District: Koraput>]
persons--[<Person: Annnn Ppppp>, <Person: Rrrrr Jeeee>, <Person: Raaaaa Jennn>, <Person: Annnnn Saaaa>]
persons--[<Person: Laaaa Sikaka>, <Person: Lingram  Azzzzz>]
personsList--[[<Person: Annnn Ppppp>, <Person: Rrrrr Jeeee>, <Person: Raaaaa Jennn>, <Person: Annnnn Saaaa>], [<Person: Laaaa Sikaka>, <Person: Lingram  Azzzzz>]]
**[15/Dec/2012 21:05:42] "GET /state/2/all_json_persons/ HTTP/1.1" 500 75201**

我无法弄清楚为什么下面的代码行在上述情况下不起作用:

json_persons = serializers.serialize("json", personsList)

但是,如果我将上面一行中的 peopleList 替换为 people.它运作良好。但我想要一个州的全部人员名单。请帮忙。

【问题讨论】:

标签: jquery django json


【解决方案1】:

Django 的序列化器用于序列化查询集。如果您想序列化其他内容,请将其转换为基本类型,例如values()values_list() 然后使用普通的 JSON 机制对其进行序列化。

【讨论】:

  • 谢谢。我改到下面并且它起作用了:对于村庄中的current_village:persons = Person.objects.all().filter(address=current_village)对于persons中的p:personsList.append(p.id)personsListQset = Person.objects.filter( pk__in=personsList) json_persons = serializers.serialize("json", personsListQset)
猜你喜欢
  • 2018-08-03
  • 2019-09-25
  • 1970-01-01
  • 2019-10-31
  • 2015-01-11
  • 2014-02-03
  • 2016-06-06
  • 2014-02-06
  • 2012-07-25
相关资源
最近更新 更多