如何动态地给一商品增加属性

问题背景:

我们从redis中拿到商品的id,以及它的数量,然后去数据库中取到这个id的商品,但是问题是,数据库中的商品没有购物车中要展示的属性,比如商品的数量,商品价格小计。

如下图:
购物车

如何解决这个问题呢?

先从redis中拿到这个用户的所有商品列表,列表里是字典,字典有两个参数:商品id,以及这个商品id对应的数目。

cart_dict = conn.hgetall(cart_key)

很显然,这个列表不能满足我们的要求。
所以先建立一个空的列表:

skus = []

然后遍历cart_dict列表,它是一个字典,所以可以每次遍历,加一个有新属性的商品到skus中

        for sku_id, count in cart_dict.items():
            # 根据商品的id获取商品的信息
            sku = GoodsSKU.objects.get(id=sku_id)
            # 计算商品的小计
            amount = sku.price*int(count)
            # 动态给sku对象增加一个属性amount, 保存商品的小计
            sku.amount = amount
            # 动态给sku对象增加一个属性count, 保存购物车中对应商品的数量
            sku.count = count
            # 添加
            skus.append(sku)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值