为什么我的购物车列表是从请求中获取而不是数据库里获取?

为什么我的购物车列表是从请求中获取而不是数据库里获取?

http://img1.sycdn.imooc.com//climg/5ff7f8a2098a960112010233.jpg

这里为什么不是Cart.objects.filter(user=xxx,status=xxx),来获取当前用户的购物车商品列表呢?这些数据不是存在数据库里的吗?为什么是从请求中获取?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕燕燕 2021-01-08 18:14:18

同学,你好!购物车商品列表是存储在数据库中的,request.user.carts.filter(status=constants.ORDER_STATUS_INIT)也是从数据库读取数据,和Cart.objects.filter(user=request.user, status=constants.ORDER_STATUS_INIT)实现的功能是一样的,程序的实现方式不是唯一的,同学可参考下面的代码尝试一下

http://img1.sycdn.imooc.com//climg/5ff83020094ed23f12000187.jpg

http://img1.sycdn.imooc.com//climg/5ff82f5f090180ea07730376.jpg

为同学的主动思考点赞,加油,祝学习愉快~

  • 提问者 慕粉1504263447 #1

    http://img1.sycdn.imooc.com//climg/5ff91e3b09447a5012240303.jpg

    request.user.carts.中的carts是指我的截图中的related_name吗?代码实现的功能是从请求中获取当前用户对象,关联到购物车,然后从购物车中筛选出满足指定状态的数据?

    2021-01-09 11:11:00
  • 好帮手慕燕燕 回复 提问者 慕粉1504263447 #2

    同学,你好!request.user.carts是与模型类Cart对应的,可以这么理解,对应数据库中的mine_cart表;代码实现的功能是从当前的请求中获取用户对象,关联这个用户的购物车,然后从购物车中筛选出满足指定状态的数据,也就是未付款的数据​http://img1.sycdn.imooc.com//climg/5ff9671009b9848109760157.jpg

    祝学习愉快~

    2021-01-09 16:21:38
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
3.从网页搭建入门Python Web
  • 参与学习           人
  • 提交作业       218    份
  • 解答问题       3562    个

本阶段带你用Python开发一个网站,学习主流框架Django+Flask是Python Web开发的第一步,在基础知识上实现积分商城的项目开发,体验真实的项目开发流程,提高解决编程问题和效率的能力。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师