me gustaría utilizar simplejson para serializar un modelo de Django. El serializador de Django no admite diccionarios ... y simplejson no es compatible con Django Querysets. Esto es todo un acertijo.JSON Serializar Django modelos con simplejson
En el modelo hay patrocinadores que tienen una clave externa para patrocinar nivel, estoy tratando de agrupar todos los patrocinadores que pertenecen a un cierto nivel patrocinador juntos. Aquí está el código que genera la lista:
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]
Esto es lo sponsor_dict
parece una vez que se "hizo"
{
'Fan': [<Sponsor: Fan Sponsor>],
'VIP': [<Sponsor: VIP Sponsor>],
'Groupie': [<Sponsor: Groupie Sponsor>],
'Silver': [<Sponsor: Silver Sponsor>],
'Bronze': [<Sponsor: Another Bronze Sponsor>, <Sponsor: Bronze Sponsor>]
}
Sólo he añadido un patrocinador en cada nivel, a excepción de bronce, sólo para mostrar cómo se trabajos. Todo lo que quiero hacer es ponerlo "todo" en JSON para que jQuery pueda interpretarlo fácilmente. ¿Pueden los otros serializadores de Django (como XML o YAML) lograr esto? ¿Puedo "extender" el Serializador JSON de Django para manejar diccionarios o "extender" simplejson para manejar objetos Django QuerySet?
esto es muy inteligente – babonk