TypeError: Objekt ist nicht JSON serialisierbar DJango 1.8 Python 3.4

Bin ich mit DJango 1.8 und Python 3.4

Wenn die unten Ansicht wird lief, Django wirft Type Error - Objekt ist nicht JSON Serialisierbar

Views.py

from django.http import HttpRequest,HttpResponse
from django.http import JsonResponse
from json import dumps

def get_stats(request):
    if request.method == "POST":
        srch_dropV = request.POST['srch_dropAJ']
    else:
        srch_dropV = ''
    if(srch_dropV == 'Green'):
        students = GreenBased.objects.all()
    if(srch_dropV == 'Yellow'):
        students = YellowBased.objects.all()
    response_data = {}
    try:
        response_data['result'] = 'Success'
        response_data['message'] = list(students)
    except:
        response_data['result'] = 'Ouch!'
        response_data['message'] = 'Script has not ran correctly'
    return HttpResponse(JsonResponse(response_data), content_type="application/json")

Ich versuche zu Lesen paar Zeilen aus der mysql-Datenbank und zeigt Sie auf die html-Datei, ich stehe vor folgenden Fehlermeldung, wenn die obige Ansicht wird ran

TypeError: YellowBased: YelloBased object is not JSON serializable

In der HTML-Seite, ich habe ein drop-down-Liste.. auf der Grundlage der option, die ausgewählt ist, meine Ajax zurückkehren würde mir die Datensätze, wurden geholt aus der mysql-Tabelle.

Models.py

class GreenBased(models.Model):
    NumOfStudents = models.CharField(max_length=300,blank=True)
    Green = models.CharField(max_length=300,blank=True)
    class Meta:
        managed = False
        db_table = "GreenStats"

class YelloBased(models.Model):
    NumOfStudents = models.CharField(max_length=300,blank=True)
    Yellow = models.CharField(max_length=300,blank=True)
    class Meta:
        managed = False
        db_table = "YellowStats"

GreenStats und YellowStats Tabellen enthält nur 2*2 Zeilen in mysql
Kann mir bitte jemand helfen um dieses Problem zu identifizieren ?

hast du das überprüfen? stackoverflow.com/q/16790375/4724196
Ich habe es bereits. In DJango 1.8, Json-Bibliothek geändert hat, bin ich etwas fehlt :(.. Die Linie response_data['message'] = list(Studenten) scheint zu scheitern, in den Blick. Ich versuche, das Problem zu beheben, konnte es aber nicht lösen, doch
Sorry, diese Zeile ist andernfalls return HttpResponse(JsonResponse(response_data), content_type="application/json")
Wenn du gehst, um exchange JSON und bauen eine Art api, darf ich vorschlagen, django-rest-framework.org ? Es verfügt über tools zum erstellen von json-Ansichten, erweiterte anpassbare serialisierungsprogramme, und automatische Filter.
Hi, Sicher.. Danke

InformationsquelleAutor user3128771 | 2015-06-20

Schreibe einen Kommentar