2009-04-27 18 views
3

Ich versuche, Django Ansicht zu machen, die JSON Antwort mit frühesten und neuesten Objekten geben wird. Leider funktioniert es mit diesem Fehler nicht.Django Serializer gibt 'str' Objekt hat kein Attribut '_meta' Fehler

'str' object has no attribute '_meta' 

Ich habe andere Serialisierung und es funktioniert.

Hier ist der Code.

def get_calendar_limits(request): 
    result = serializers.serialize("json", Session.objects.aggregate(Max('date'), Min('date')), ensure_ascii=False) 
    return HttpResponse(result, mimetype="application/javascript") 

Vielen Dank im Voraus.

Antwort

0

Werfen Sie einen Blick auf die folgenden:

objects= Session.objects.aggregate(Max('date'), Min('date')) 
print [ type[o] for o in objects ] 
result = serializers.serialize("json", objects, ensure_ascii=False) 

Vielleicht möchten Sie nur die oben in der interaktiven Python als Experiment laufen.

Welchen Typ haben Ihre Objekte? Ist dieser Typ serialisierbar?

+0

Sie haben Recht, dort sind Objekte nicht serialisierbar. Vielen Dank. – freiksenet

1

Ich bekomme den gleichen Fehler, wenn sie versuchen, ein Objekt zu serialisieren, die nicht von Djangos Modell

+1

Ja, ich habe festgestellt, dass ich einen eigenen Serializer erstellen muss, um Nicht-Django-Modelle zu serialisieren. Ich löste das, indem ich nur eine JSON-Vorlage hatte, da ich nur für ein kleines bisschen brauchte. – freiksenet

1

Python hat „json“ Modul abgeleitet ist. Es kann "Dumps" und "Loads" -Funktion ausführen. Sie können entsprechend serialisieren und deserialisieren.

Verwandte Themen