/ / Como serializar para o formato json um queryset que usa a instrução 'extra' no Django? - django, django-models

Como serializar para o formato json um queryset que usa a instrução 'extra' no Django? - django, django-models

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 № 1

1 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.