def top_sellers(request): """ Return top seller of the month, and the last 10 top sellers """ from shops.models import Shop from market_buy.models import BestSeller marketplace = request.marketplace sellers = BestSeller.objects.filter( shop__marketplace=marketplace).order_by("-to_date")[:10] if not sellers: delta = 7 date_to = datetime.datetime.now() date_from = date_to - datetime.timedelta(delta) best_seller = BestSeller() best_seller.shop = Shop.objects.all().filter( marketplace=marketplace).order_by('?')[0] best_seller.from_date = date_from best_seller.to_date = date_to best_seller.revenue = 0 best_seller.save() sellers = BestSeller.objects.filter( shop__marketplace=marketplace).order_by("-to_date") return render_to_response( "%s/buy/top_sellers.html" % request.marketplace.template_prefix, {'best_sellers': sellers}, RequestContext(request))
def get_week_top_seller(): delta = 7 date_to = datetime.datetime.now() date_from = date_to - datetime.timedelta(delta) shops = Shop.objects.all() max_revenue = -1 winner = None logging.info("Calculating the best seller of the week. From: %s - %s" % (date_from, date_to)) for shop in shops: week_revenue = 0 sell_week_revenue = Sell.objects.filter(shop=shop) sell_week_revenue = sell_week_revenue.filter(date_time__range=(date_from, date_to)) logging.info(sell_week_revenue) for sell in sell_week_revenue: week_revenue += sell.total_without_taxes() logging.info("Total Revenue from shop %s = %s" % (shop, week_revenue)) if week_revenue > max_revenue: winner = shop max_revenue = week_revenue best_seller = BestSeller() best_seller.shop = winner best_seller.from_date = date_from best_seller.to_date = date_to best_seller.revenue = max_revenue best_seller.save() logging.info("Winner: %s" % best_seller)
def top_sellers(request): """ Return top seller of the month, and the last 10 top sellers """ from shops.models import Shop from market_buy.models import BestSeller marketplace = request.marketplace sellers = BestSeller.objects.filter(shop__marketplace=marketplace).order_by("-to_date")[:10] if not sellers: delta = 7 date_to = datetime.datetime.now() date_from = date_to - datetime.timedelta(delta) best_seller = BestSeller() best_seller.shop = Shop.objects.all().filter(marketplace=marketplace).order_by('?')[0] best_seller.from_date = date_from best_seller.to_date = date_to best_seller.revenue = 0 best_seller.save() sellers = BestSeller.objects.filter(shop__marketplace=marketplace).order_by("-to_date") return render_to_response("%s/buy/top_sellers.html" % request.marketplace.template_prefix, {'best_sellers' : sellers} , RequestContext(request))