Quero serializar um QuerySet que contenha um extra declaração:
region_list = Region.objects.extra(select={ "selected": "case when id = %s then 1 else 0 end" % (new_region.id)}).all()
Eu uso a declaração abaixo para serializar
return HttpResponse(serializers.serialize("json", region_list), mimetype="application/json")
Mas quando obtenho os resultados do json no navegador, apenas os campos do modelo Região aparecem, o selecionado campo desaparece.
Como posso consertar isso?
Respostas:
0 para resposta № 11 levemente solução longwinded seria para despejar os objetos para JSON via django-piston"classe JSONEmitter". Quando você registra seu modelo de região com pistão, pode dizer quais campos incluir e mencionar "selecionado" lá e, em seguida, usar sua anotação para garantir que o queryset usado no manipulador de pistão contém todas as informações desejadas.
Ou apenas olhe como o pistão faz isso e, se você não quer todo o pistão, apenas imite as partes que você faz.