def get_success_order_amount(cls, date: pendulum.DateTime): amount = (cls.objects.filter( status=cls.STATUS_FINISHED, created_at__range=[ date.start_of("day"), date.end_of("day"), ], ).aggregate(amount=models.Sum("amount"))["amount"] or "0") return amount
def _get_active_user_count_by_datetime(cls, dt: pendulum.DateTime): qs = (cls.objects.filter( created_at__range=[dt.start_of("day"), dt.end_of("day")]).values("user_id").distinct()) return qs.count()
def get_success_order_count(cls, dt: pendulum.DateTime): return cls.objects.filter( created_at__range=[dt.start_of("day"), dt.end_of("day")], status=cls.STATUS_FINISHED, ).count()
def get_new_user_count_by_datetime(cls, date: pendulum.DateTime): return cls.objects.filter(date_joined__range=[ date.start_of("day"), date.end_of("day"), ]).aggregate(count=models.Count("id"))["count"]