我想使用simplejson序列化Django模型。 Django的序列化程序不支持字典...並且simplejson不支持Django Querysets。這是一個相當難解的問題。JSON使用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序列化程序來處理字典或「擴展」simplejson來處理Django QuerySet對象嗎?
這是非常聰明的 – babonk 2012-03-08 19:29:30