2011-09-23 60 views
2

我想解析一个查询集来输出json数据。不过,我需要这样做,以便新的jquery ui自动完成功能也可以使用它,并且自动完成需要密钥labelidvalue才能够读取它。解析Django Queryset JSON

目前我使用:

emp_list = Employees.objects.filter(eng_name__icontains=q_term) 

    json_serializer = serializers.get_serializer('json')() 
    json_data = json_serializer.serialize 
      (emp_list, ensure_ascii=False, fields=('eng_name', 'chi_name')) 

和输出是一样的东西

[{"pk": 1, "model": "system.employees", 
"fields": {"rank": "manager", "eng_name": "Eli"}}, 
........] 

我希望能够将它解析为这样的事情,而不是:

[{"id": 1, "label": "Eli (manager)", "value": "Eli (manager)"}, ....] 

什么是做到这一点的最佳方式?

回答

2

建立它在你看来那么JSON倾倒

employees_output_list = [] 
for emp in emp_list: 
    name_rank_str = "%s (%s)" % (emp.first_name, emp.rank) 
    emp_dict = { 
    "id": emp.pk, 
    "label": name_rank_str, 
    "value": name_rank_str, 
    } 
    employees_output_list.append(emp_dict) 
return HttpResponse(json.dumps(employees_output_list)) 

这样的事情,不知道你的实际字段名

+0

完美,谢谢! –