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

完美,謝謝! –