次のエラーが表示されます。
テンプレートのオブジェクトは反復可能ではありません
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)
それが役に立てば幸い!