示例#1
0
文件: __init__.py 项目: niks32/market
 def for_session_cart(cls, session_cart):
     cart = Cart(session_cart)
     product_ids = [item.data['product_id'] for item in session_cart]
     products = Product.objects.filter(id__in=product_ids)
     products = products.select_subclasses()
     product_map = dict((p.id, p) for p in products)
     for item in session_cart:
         try:
             product = product_map[item.data['product_id']]
         except KeyError:
             continue
         else:
             variant = product.variants.get(pk=item.data['variant_id'])
         quantity = item.quantity
         cart.add(variant, quantity=quantity, check_quantity=False, skip_session_cart=True)
     return cart
示例#2
0
 def for_session_cart(cls, session_cart, discounts=None):
     cart = Cart(session_cart, discounts=discounts)
     product_ids = [item.data['product_id'] for item in session_cart]
     products = Product.objects.filter(id__in=product_ids)
     products = products.select_subclasses()
     product_map = dict((p.id, p) for p in products)
     for item in session_cart:
         try:
             product = product_map[item.data['product_id']]
         except KeyError:
             # TODO: Provide error message
             continue
         else:
             variant = product.variants.get(pk=item.data['variant_id'])
         quantity = item.quantity
         cart.add(variant, quantity=quantity, check_quantity=False,
                  skip_session_cart=True)
     return cart
示例#3
0
文件: __init__.py 项目: aagarg/saleor
    def for_session_cart(cls, session_cart, discounts=None):
        from saleor.product.models import Product

        cart = Cart(session_cart, discounts=discounts)
        product_ids = [item.data['product_id'] for item in session_cart]
        products = Product.objects.filter(id__in=product_ids)
        products = products.select_subclasses()
        product_map = dict((p.id, p) for p in products)
        for item in session_cart:
            try:
                product = product_map[item.data['product_id']]
            except KeyError:
                # TODO: Provide error message
                continue
            else:
                variant = product.variants.get(pk=item.data['variant_id'])
            quantity = item.quantity
            cart.add(variant, quantity=quantity, check_quantity=False,
                     skip_session_cart=True)
        return cart
示例#4
0
    def for_session_cart(cls, session_cart):
        from .models import Product

        cart = Cart(session_cart)
        product_ids = [item.data['product_id'] for item in session_cart]
        products = Product.query.filter(Product.id in product_ids)
        product_map = dict((p.id, p) for p in products)
        for item in session_cart:
            try:
                product = product_map[item.data['product_id']]
            except KeyError:
                continue
            quantity = item.quantity
            cart.add(
                product,
                quantity=quantity,
                check_quantity=False,
                skip_session_cart=True
            )
        return cart