2009-04-27 39 views
3

JSONレスポンスに最も早く最新のオブジェクトを与えるDjangoビューを作成しようとしています。しかし、残念ながらこのエラーではうまく動作しません。Djangoシリアライザは 'str'オブジェクトに '_meta'属性の属性がありません。

'str' object has no attribute '_meta' 

私は他のシリアライゼーションがあり、動作します。

ここにコードがあります。

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") 

ありがとうございます。

答えて

0

は以下を見てみましょう:

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

あなただけの実験として、インタラクティブPythonで上記を実行したい場合があります。

あなたのオブジェクトはどのようなタイプですか?その型はシリアライズ可能ですか?

+0

あなたはそうです、オブジェクトは直列化できません。 ありがとうございます。 – freiksenet

1

Djangoのモデル

+1

ええ、私は、非Djangoモデルをシリアライズするために自分のシリアライザを作る必要があることに気付きました。 JSONテンプレートを使用するだけで、私はこれを1つの小さなビットに必要とするので、これを解決しました。 – freiksenet

1

のPythonから派生されていないオブジェクトをシリアル化するためにしようとしたとき、私は同じエラーを取得するには、「JSON」モジュールを持っています。それは 'ダンプ'と '読み込み'機能を持つことができます。それに応じてシリアル化およびデシリアライズを行うことができます。

関連する問題