random_data.py 文件源码

python
阅读 23 收藏 0 点赞 0 评论 0

项目:planet-b-saleor 作者: planet-b 项目源码 文件源码
def create_fake_order():
    user = random.choice([None, User.objects.filter(
        is_superuser=False).order_by('?').first()])
    if user:
        user_data = {
            'user': user,
            'billing_address': user.default_billing_address,
            'shipping_address': user.default_shipping_address}
    else:
        address = create_address()
        user_data = {
            'billing_address': address,
            'shipping_address': address,
            'user_email': get_email(
                address.first_name, address.last_name)}
    order = Order.objects.create(**user_data)
    order.change_status(OrderStatus.PAYMENT_PENDING)

    delivery_group = create_delivery_group(order)
    lines = create_order_lines(delivery_group, random.randrange(1, 5))

    order.total = sum(
        [line.get_total() for line in lines], delivery_group.shipping_price)
    order.save()

    payment = create_payment(delivery_group)
    if payment.status == PaymentStatus.CONFIRMED:
        order.change_status(OrderStatus.FULLY_PAID)
        if random.choice([True, False]):
            order.change_status(OrderStatus.SHIPPED)
    return order
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号