Ich habe einen Fehler, TypeError at/ResultJSON/v1/Ergebnisse/ 'Tuple' Objekt ist nicht aufrufbar.TypeError 'Tuple' Objekt ist nicht aufrufbar
Ich schrieb ein Verfahren in views.py,
results = OrderedDict([
('id',x.id)
('name', x.name)
for x in Post.objects.all()
])
Wenn ich diesen Fehler durchsucht, lese ich die Fehler passieren, weil es kein Komma (,).
Aber ich fügte Kommas zwischen ('id', x.id) und ('name', x.name) und letzte von ('name', x.name), ich habe einen Fehler Kein Python-Interpreter konfiguriert für das Projekt.
Also, ich kann nicht verstehen, warum dieser Fehler passiert.Wie kann ich es beheben?
In views.py schrieb ich
import json
from collections import OrderedDict
from django.http import HttpResponse
from accounts.models import Post
def render_json_response(request, data, status=None):
json_str = json.dumps(data, ensure_ascii=False, indent=2)
callback = request.GET.get('callback')
if not callback:
callback = request.POST.get('callback')
if callback:
json_str = "%s(%s)" % (callback, json_str)
response = HttpResponse(json_str, content_type='application/javascript; charset=UTF-8', status=status)
else:
response = HttpResponse(json_str, content_type='application/json; charset=UTF-8', status=status)
return response
def UserResult(request):
results = OrderedDict([
('id',x.id)
('name', x.name)
for x in Post.objects.all()
])
data = OrderedDict([ ('results', results) ])
return render_json_response(request, data)
Was versuchen Sie hier zu erreichen? Ein Wörterbuch kann nur ** eindeutige ** Schlüssel enthalten, Sie können nicht mehrere "ID" - und "Name" -Schlüssel erzeugen und das funktioniert. –
Versuchen Sie vielleicht, stattdessen eine * Wörterbuchliste * zu erstellen? –