示例#1
0
    def process(self, filename, delimiter, target_fields):
        processed, delimiter = 0, delimiter or ','
        target_fields = [
            getattr(Product, f) for f in target_fields.split(delimiter)
        ]
        statuses = {-1: 0, 0: 0, 1: 0}
        with open(filename) as f:
            for row in csv.DictReader(f, delimiter=delimiter):
                processed += 1
                if processed % 50000 == 0:
                    logger.info('Processed: {}, statuses: {}'.format(
                        processed, statuses))

                row['active'] = {'False': False, 'True': True}[row['active']]
                try:
                    is_new, product = Product.load_from_source(row)
                    if is_new:
                        logger.error('Product is new! id: {}'.format(
                            row['id']))
                    else:
                        statuses[product.active -
                                 Product.get(id=product.id).active] += 1
                        product.save(only=target_fields)
                except Exception as e:
                    logger.error(e)
            logger.info('Processed: {}, statuses: {}'.format(
                processed, statuses))
示例#2
0
文件: cart.py 项目: kmng/testDjango
def add(request, product_key):
    postdata = request.POST.copy()
    quantity = int(postdata.get('quantity', 1))
    product = Product.get(product_key)
    item = CartItem.all().filter('product = ', product).filter('cart_id = ', get_cart_id(request)).get()
    if not item:
        item = CartItem()
        item.product = product
        item.quantity = quantity
        item.cart_id = get_cart_id(request)
        item.put()
    else:
        item.quantity = item.quantity + quantity
        item.put()
示例#3
0
def add(request, product_key):
    postdata = request.POST.copy()
    quantity = int(postdata.get('quantity', 1))
    product = Product.get(product_key)
    item = CartItem.all().filter('product = ',
                                 product).filter('cart_id = ',
                                                 get_cart_id(request)).get()
    if not item:
        item = CartItem()
        item.product = product
        item.quantity = quantity
        item.cart_id = get_cart_id(request)
        item.put()
    else:
        item.quantity = item.quantity + quantity
        item.put()