gpt4 book ai didi

python - 无法在 Django session 中保存对象列表

转载 作者:太空宇宙 更新时间:2023-11-04 05:40:45 24 4
gpt4 key购买 nike

我正在尝试修改 session 并存储模型对象列表。

这是我的观点-

def update_cart(request):
if request.method == 'POST':
post = request.POST
cart = json.loads(post['cart'])
food_list = []
for f in cart['food']:
food_list.append(Food.objects.get(food_id = f))
print food_list
request.session['food'] = food_list
request.session.modified = True
request.session['quantity'] = cart['quantity']
request.session['price'] = cart['price']
request.session['amount'] = cart['amount']
print request.session
return JsonResponse({'data': 'OK'})

它将 food_list 和 session 对象打印为 <django.contrib.sessions.backends.db.SessionStore object at 0x7f49bca6e150>

在此之后我收到内部服务器错误。

我还有SESSION_SAVE_EVERY_REQUEST = True在我的设置中

我还是做不到。

感谢任何帮助。

最佳答案

session 需要 JSON 可序列化的东西。因此,您必须将以下规则 food_list.append(Food.objects.get(food_id = f)) 调整为附加 ID。

您可以将列表的结构更改为以下行。还将数据库上的多个获取更改为一个过滤器。

food_list = [f.id for f in Food.objects.filter(food_id__in=cart['food'])]

关于python - 无法在 Django session 中保存对象列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34004133/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com