Ich habe Django-Ansicht, die JSON an JS zurückgibt.Django - JSON-Antwort, die json [i] [j] -Referenz erlaubt, anstatt json [0] .field.field_name
def some_view(request, param):
my_queryset = SomeModel.objects.filter(...).select_related('related_model')
serialized_data = serializers.serialize("json", [x.some_related_field for x in my_queryset])
return HttpResponse(serialized_data, content_type='application/json')
nun den Wert von some_related_field zu bekommen, ich habe in JS schreiben:
obj[i].fields.some_related_field[j]
Mein Ziel ist es, die json von Python in einer Art und Weise zurück, die für obj [i] ermöglichen sollte, [j] Syntax. Ist es möglich ?
Ich erwarte, ich muss dump-Methode verwenden, aber es ist absolut wichtig, dass ich auch die Felder eines verwandten Modells greifen. Bis jetzt konnte ich nicht verwandte Felder mit der Dump-Methode erfassen.
Brilliant, briliiant, brilliant! Ich liebe diese Seite !!! Können Sie mir bitte sagen, wie kann ich bitte mehr als ein Feld des zugehörigen Modells greifen? Etwas wie list_data = [x.some_related_model_id, x.some_related_model_value für x in my_queryset] –
Ja, du kannst ein weiteres Listenverständnis machen '[{'a': x.a, 'b': x.b} für x in my_queryset]'. Dies kann jedoch sehr kompliziert werden. Wenn Sie versuchen, eine API zu schreiben, würde ich vorschlagen, ein RESTful-Framework wie Django Rest Framework – dhui
Cool zu verwenden, aber der Nachteil ist, dass ich smth wie json_obj [i] .a anstelle von json_obj [i] [j schreiben muss ] was den JS-Code weniger generisch macht. Keine Möglichkeit, obj [i] [j] -Syntax ohne REST zu aktivieren, denke ich? –