django项目开发之订单模块

1.订单模块

当购物车商品筛选完毕点击结算时,跳转到支付宝支付流程,其实就是接入到支付宝的支付接口,由支付宝来处理订单结算,我们直接获取支付结果。支付模块可以直接查看支付宝的开发文档。

1.1 表的关联

一个用户可以有多个订单
一个订单中可以有多个商品
一个商品可以在多个订单中
订单和商品是多对多的关系

1.2 建立模型

class Order(models.Model):
    o_user=models.ForeignKey(User)
    o_price=models.FloatField(default=0)
    o_time=models.DateTimeField(auto_now=True)
    o_status=models.IntegerField(default=ORDER_STATUS_NOT_PAY)

    class Meta:
        db_table='sxw_order'

class OrderGoods(models.Model):
    o_order=models.ForeignKey(Order)
    o_goods=models.ForeignKey(Goods)
    o_goods_num=models.IntegerField(default=1)

    class Meta:
        db_table='sxw_ordergoods'

执行数据迁移

1.3 点击结算按键时,生成订单

在views.py文件中写视图函数

def make_order(request):
    carts=Cart.objects.filter(c_user=request.user).filter(c_is_select=True)
    order=Order()
    order.o_user=request.user
    order.o_price=get_total_price()
    order.save()
    for cart_obj in carts:
        ordergoods=OrderGoods()
        ordergoods.o_order=order
        ordergoods.o_goods_num=cart_obj.c_goods_num
        ordergoods.o_goods=cart_obj.c_goods
        ordergoods.save()
        cart_obj.delete()
    data={
   
        'status':200,
        'msg':'ok',
        'order_id':order.id
    }
    return JsonResponse(data=data)

配置路由

url(r'^makeorder/',views.make_order,name='make_order'),

cart.js

$("#make_order").click(function(){
   
        var select_list=[];
        var unselect_list=[];
        $(".confirm").each(function(
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值