def get_session_stats(): finished = PracticeSession.objects.filter(duration__gt=0) unfinished = PracticeSession.objects.filter(duration=0) # or expired return SessionStats( length_median = median([s.duration for s in finished]), solved_ratio = len(finished) / len(unfinished), unfinished = len(unfinished))
def get_session_stats(): finished = PracticeSession.objects.filter(duration__gt=0) unfinished = PracticeSession.objects.filter(duration=0) # or expired return SessionStats( length_median=median([s.duration for s in finished]), solved_ratio=len(finished) / len(unfinished), unfinished=len(unfinished), )
def get_attempts_median(task): attempts = TaskInstanceModel.objects \ .filter(task=task) \ .values_list('attempt_count', flat=True) return median(attempts)
def get_time_median(task): times = TaskInstanceModel.objects.filter(task=task) \ .values_list('time_spent', flat=True) return median(times)
def get_attempts_median(task): attempts = TaskInstanceModel.objects.filter(task=task).values_list("attempt_count", flat=True) return median(attempts)
def get_time_median(task): times = TaskInstanceModel.objects.filter(task=task).values_list("time_spent", flat=True) return median(times)