/ / Jak przekształcić do formatu json zestaw zapytań, które używają "dodatkowej" instrukcji w Django? - django, modele django

Jak przekształcić do formatu json zestaw zapytań, które używają "dodatkowej" instrukcji w Django? - django, modele django

Chcę serializować zestaw kwerend, który zawiera dodatkowy komunikat:

region_list = Region.objects.extra(select={ "selected": "case when id = %s then 1 else 0 end" % (new_region.id)}).all()

Używam poniższego oświadczenia do serializowania

return HttpResponse(serializers.serialize("json", region_list), mimetype="application/json")

Ale gdy uzyskaję wyniki json w przeglądarce, pojawiają się tylko pola modelu Region, wybrany pole zniknęło.

Jak mogę to naprawić?

Odpowiedzi:

0 dla odpowiedzi № 1

Jeden nieco długowiecznym rozwiązaniem byłoby zrzucenie obiektów do JSON-a przez django-tłok"s klasa JSONEmitter. Po zarejestrowaniu modelu regionu za pomocą tłoka można określić, które pola mają zostać uwzględnione, i wspomnieć o "zaznaczonym" tam, a następnie użyć adnotacji, aby upewnić się, że zestaw zapytań używany w obsłudze tłoków zawiera wszystkie potrzebne informacje.

Albo po prostu spójrz, jak to robi tłok, a jeśli nie chcesz całego tłoku, po prostu naśladuj bity, które robisz.