Tôi muốn sử dụng simplejson để tuần tự hóa mô hình Django. Trình serializer của Django không hỗ trợ từ điển ... và simplejson không hỗ trợ Django Querysets. Đây là một câu hỏi hóc búa.JSON Nối tiếp mô hình Django với simplejson
Trong mô hình có các nhà tài trợ có khóa ngoại để tài trợ cấp, tôi đang cố gắng nhóm tất cả các nhà tài trợ thuộc về một cấp nhà tài trợ nhất định với nhau. Dưới đây là đoạn code mà tạo ra danh sách:
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]
Đây là những gì sponsor_dict
trông giống như khi nó đã được "làm"
{
'Fan': [<Sponsor: Fan Sponsor>],
'VIP': [<Sponsor: VIP Sponsor>],
'Groupie': [<Sponsor: Groupie Sponsor>],
'Silver': [<Sponsor: Silver Sponsor>],
'Bronze': [<Sponsor: Another Bronze Sponsor>, <Sponsor: Bronze Sponsor>]
}
Tôi chỉ thêm một nhà tài trợ ở mỗi cấp, ngoại trừ đồng, chỉ để hiển thị nó như thế nào công trinh. Tất cả những gì tôi muốn làm là lấy nó "tất cả" vào JSON để jQuery có thể giải thích nó một cách dễ dàng. Các serializers khác của Django (như XML hay YAML) có thực hiện được điều này không? Tôi có thể "mở rộng" Django JSON Serializer để xử lý các từ điển hoặc "mở rộng" simplejson để xử lý các đối tượng Django QuerySet không?
này là rất thông minh – babonk