次のエラーが表示されます。
テンプレートのオブジェクトは反復可能ではありません
def get_AJAX(request, id):
data = serializers.serialize("json", Template.objects.get(pk=id))
return HttpResponse(data)
ただし、使用して'get'いるため、このエラーが発生する理由がわかりません。何か案は?
次のエラーが表示されます。
テンプレートのオブジェクトは反復可能ではありません
def get_AJAX(request, id):
data = serializers.serialize("json", Template.objects.get(pk=id))
return HttpResponse(data)
ただし、使用して'get'いるため、このエラーが発生する理由がわかりません。何か案は?
これは、iterable も QuerySet も渡さず、代わりにTemplateオブジェクトを渡しているためです。その単一のオブジェクトをシリアル化したい場合は、次のように実行できます。
def get_AJAX(request, id):
data = serializers.serialize("json", [Template.objects.get(pk=id)])
return HttpResponse(data)
更新:代わりに使用することをお勧めしfilterます。
またfilter、pk が存在しない場合に発生する可能性のある例外を回避するために、get の代わりに使用することを検討してください。QuerySetこの方法では、オブジェクトであるため、ブラケットは必要ありません
def get_AJAX(request, id):
data = serializers.serialize("json", Template.objects.filter(pk=id))
return HttpResponse(data)
それが役に立てば幸い!