【发布时间】:2019-09-28 10:38:24
【问题描述】:
我在 services.py 文件中有一个函数:
def someFunction():
if choice == 'Choice1'
result1 = Choice1.objects.all.order_by('?')[0]
result2 = Choice1.objects.all.order_by('?')[0]
result3 = Choice1.objects.all.order_by('?')[0]
elif choice == 'Choice2'
result1 = Choice2.objects.all.order_by('?')[0]
result2 = Choice2.objects.all.order_by('?')[0]
result3 = Choice2.objects.all.order_by('?')[0]
result = [result1, result2, result3]
return result
我像这样将它传递给视图:
def template(request):
request.session['result'] = someFunction() #save result to session
result = request.session['result'] #retrieve saved result from session
context = {
'resulting': list(result)
}
return render(request, 'project/template.html', context)
然后传递给模板等
但是这会导致“TypeError at /template object type of results is not JSON Serializable.”
如果我不尝试将函数结果保存到会话中,一切正常。我不确定自己做错了什么,或者是否有更好的方法可以将函数的结果保存到会话中。
感谢任何帮助。
【问题讨论】: