Разбор Django Queryset JSON - PullRequest
       16

Разбор Django Queryset JSON

2 голосов
/ 23 сентября 2011

Я хочу проанализировать набор запросов для вывода данных JSON. Однако мне нужно сделать так, чтобы новое автозаполнение jquery ui могло также использовать его, и автозаполнение нуждается в ключах label, id и value, чтобы иметь возможность прочитать его.

В настоящее время я использую:

    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)"}, ....]

каков наилучший способ сделать это?

1 Ответ

2 голосов
/ 23 сентября 2011

создайте его по вашему мнению, затем 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))

как-то так, не знаю ваших реальных имен полей

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...