Я бы хотел использовать simplejson для сериализации модели Django. Сериализатор Django не поддерживает словари ... и simplejson не поддерживает наборы запросов Django. Это довольно загадка.
В модели есть спонсоры, которые имеют внешний ключ для уровня спонсора, я пытаюсь сгруппировать всех спонсоров, принадлежащих к определенному уровню спонсора. Вот код, который генерирует список:
from django.shortcuts import get_list_or_404
from special_event.models import Sponsor, SponsorLevel
sponsor_dict = {}
roadie_sponsors = get_list_or_404(Sponsor, level__category = SponsorLevel.ROADIE_CHOICE)
for item in roadie_sponsors:
try:
sponsor_dict[item.level.name].append(item)
except KeyError:
sponsor_dict[item.level.name] = [item]
Вот как выглядит sponsor_dict
, как только он "сделан"
{
'Fan': [<Sponsor: Fan Sponsor>],
'VIP': [<Sponsor: VIP Sponsor>],
'Groupie': [<Sponsor: Groupie Sponsor>],
'Silver': [<Sponsor: Silver Sponsor>],
'Bronze': [<Sponsor: Another Bronze Sponsor>, <Sponsor: Bronze Sponsor>]
}
Я добавил только одного спонсора на каждом уровне, кроме бронзы, просто чтобы показать, как это работает. Все, что я хочу сделать, это вставить все в JSON, чтобы jQuery мог легко его интерпретировать. Могут ли другие сериализаторы Django (такие как XML или YAML) достичь этого? Могу ли я «расширить» Django JSON Serializer для обработки словарей или «расширить» simplejson для обработки объектов Django QuerySet?