Я хочу серіалізувати QuerySet, який містить додатково заява:
region_list = Region.objects.extra(select={ "selected": "case when id = %s then 1 else 0 end" % (new_region.id)}).all()
Я використовую формуляр нижче для серіалізації
return HttpResponse(serializers.serialize("json", region_list), mimetype="application/json")
Але коли я отримую результати json в браузері, з'являються лише поля моделі Region вибрано поле зникає.
Як це можна виправити?
Відповіді:
0 для відповіді № 1Один трохи longwinded рішення було б, щоб скинути об'єкти в JSON через django-pistonкласу JSONEmitter. Коли ви реєструєте вашу модель регіону з поршнем, ви можете сказати, які поля слід включити, і згадати там "вибрані", а потім скористатися вашою анотацією, щоб переконатися, що queryset, що використовується в поршневому обробнику, містить всю потрібну інформацію.
Або просто подивіться, як це робиться поршнем, і, якщо ви не хочете, щоб все поршневе, просто імітуйте біти.