Django:处理折扣代码

时间:2018-08-23 12:40:01

标签: django

我目前正在构建一个Django应用程序,访问者可以在其中购买在线课程。我现在想实现提供折扣代码的可能性。由于这些折扣代码应受数量限制,因此我现在有以下实现思路:

  1. 访客访问www.page.com?discount=TEST
  2. 模型discount包含字段discount_codesmax qty。我将在这里检查代码是否存在。此外,我必须计算使用折扣代码TEST的订单模型中的所有条目。我的订单模型包含foreign_key字段“ redeemed_discounts”)。
  3. 用户单击“付款”(通过Stripe)后,我将再次计算我的订单模型中所有包含“ TEST”的订单,以确保同时没有达到“ max_qty”。
  4. 现在我可以向访客收取费用。

您是否认为这是很好的实施方式,还是我计划的方式出现任何问题?

1 个答案:

答案 0 :(得分:0)

为什么不使用max_qty而不是使用use_left和max_use之类的东西 因此,只要有人使用该代码,您就可以相应地减少计数,当计数为零时,您可以停止使用该方法,而不必每次都扫描订单表以查看优惠券代码是否仍然可用。