diff --git a/anatomy/migrations/0057_auto_20211215_2036.py b/anatomy/migrations/0057_auto_20211215_2036.py new file mode 100644 index 00000000..6d66bca6 --- /dev/null +++ b/anatomy/migrations/0057_auto_20211215_2036.py @@ -0,0 +1,53 @@ +# Generated by Django 3.2.8 on 2021-12-15 20:36 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('anatomy', '0056_alter_ciduseranswer_score'), + ] + + operations = [ + migrations.AddField( + model_name='exam', + name='stats_candidates', + field=models.FloatField(default=0), + ), + migrations.AddField( + model_name='exam', + name='stats_graph', + field=models.TextField(default=0), + ), + migrations.AddField( + model_name='exam', + name='stats_max', + field=models.FloatField(default=0), + ), + migrations.AddField( + model_name='exam', + name='stats_max_possible', + field=models.FloatField(default=0), + ), + migrations.AddField( + model_name='exam', + name='stats_mean', + field=models.FloatField(default=0), + ), + migrations.AddField( + model_name='exam', + name='stats_median', + field=models.FloatField(default=0), + ), + migrations.AddField( + model_name='exam', + name='stats_min', + field=models.FloatField(default=0), + ), + migrations.AddField( + model_name='exam', + name='stats_mode', + field=models.CharField(default=0, max_length=25), + ), + ] diff --git a/anatomy/views.py b/anatomy/views.py index ca9b0007..957343ff 100644 --- a/anatomy/views.py +++ b/anatomy/views.py @@ -558,6 +558,18 @@ def exam_scores_cid(request, pk): max_score = len(questions) * 2 + exam.stats_mean = mean + exam.stats_median = median + exam.stats_mode = mode + + exam.stats_candidates = len(user_scores_list) + exam.stats_max_possible = max_score + + exam.stats_min = min(user_scores_list) + exam.stats_max = max(user_scores_list) + + exam.stats_graph = fig_html + return render( request, "anatomy/exam_scores.html", diff --git a/generic/models.py b/generic/models.py index 63466bfe..75358304 100644 --- a/generic/models.py +++ b/generic/models.py @@ -96,6 +96,18 @@ class ExamBase(models.Model): default=False, ) + stats_mean = models.FloatField(default=0) + stats_mode = models.CharField(default=0, max_length=25) + stats_median = models.FloatField(default=0) + + stats_candidates = models.FloatField(default=0) + + stats_min = models.FloatField(default=0) + stats_max = models.FloatField(default=0) + + stats_max_possible = models.FloatField(default=0) + + stats_graph = models.TextField(default=0) # time_limit = models.IntegerField( # help_text="Exam time limit (in seconds). Default is 2100 secondse (35 minutes)", diff --git a/longs/migrations/0056_auto_20211215_2036.py b/longs/migrations/0056_auto_20211215_2036.py new file mode 100644 index 00000000..fdc723c4 --- /dev/null +++ b/longs/migrations/0056_auto_20211215_2036.py @@ -0,0 +1,53 @@ +# Generated by Django 3.2.8 on 2021-12-15 20:36 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('longs', '0055_exam_valid_users'), + ] + + operations = [ + migrations.AddField( + model_name='exam', + name='stats_candidates', + field=models.FloatField(default=0), + ), + migrations.AddField( + model_name='exam', + name='stats_graph', + field=models.TextField(default=0), + ), + migrations.AddField( + model_name='exam', + name='stats_max', + field=models.FloatField(default=0), + ), + migrations.AddField( + model_name='exam', + name='stats_max_possible', + field=models.FloatField(default=0), + ), + migrations.AddField( + model_name='exam', + name='stats_mean', + field=models.FloatField(default=0), + ), + migrations.AddField( + model_name='exam', + name='stats_median', + field=models.FloatField(default=0), + ), + migrations.AddField( + model_name='exam', + name='stats_min', + field=models.FloatField(default=0), + ), + migrations.AddField( + model_name='exam', + name='stats_mode', + field=models.CharField(default=0, max_length=25), + ), + ] diff --git a/physics/migrations/0016_auto_20211215_2036.py b/physics/migrations/0016_auto_20211215_2036.py new file mode 100644 index 00000000..fb0f318c --- /dev/null +++ b/physics/migrations/0016_auto_20211215_2036.py @@ -0,0 +1,53 @@ +# Generated by Django 3.2.8 on 2021-12-15 20:36 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('physics', '0015_exam_valid_users'), + ] + + operations = [ + migrations.AddField( + model_name='exam', + name='stats_candidates', + field=models.FloatField(default=0), + ), + migrations.AddField( + model_name='exam', + name='stats_graph', + field=models.TextField(default=0), + ), + migrations.AddField( + model_name='exam', + name='stats_max', + field=models.FloatField(default=0), + ), + migrations.AddField( + model_name='exam', + name='stats_max_possible', + field=models.FloatField(default=0), + ), + migrations.AddField( + model_name='exam', + name='stats_mean', + field=models.FloatField(default=0), + ), + migrations.AddField( + model_name='exam', + name='stats_median', + field=models.FloatField(default=0), + ), + migrations.AddField( + model_name='exam', + name='stats_min', + field=models.FloatField(default=0), + ), + migrations.AddField( + model_name='exam', + name='stats_mode', + field=models.CharField(default=0, max_length=25), + ), + ] diff --git a/rapids/migrations/0042_auto_20211215_2036.py b/rapids/migrations/0042_auto_20211215_2036.py new file mode 100644 index 00000000..28dd5035 --- /dev/null +++ b/rapids/migrations/0042_auto_20211215_2036.py @@ -0,0 +1,53 @@ +# Generated by Django 3.2.8 on 2021-12-15 20:36 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('rapids', '0041_ciduseranswer_score'), + ] + + operations = [ + migrations.AddField( + model_name='exam', + name='stats_candidates', + field=models.FloatField(default=0), + ), + migrations.AddField( + model_name='exam', + name='stats_graph', + field=models.TextField(default=0), + ), + migrations.AddField( + model_name='exam', + name='stats_max', + field=models.FloatField(default=0), + ), + migrations.AddField( + model_name='exam', + name='stats_max_possible', + field=models.FloatField(default=0), + ), + migrations.AddField( + model_name='exam', + name='stats_mean', + field=models.FloatField(default=0), + ), + migrations.AddField( + model_name='exam', + name='stats_median', + field=models.FloatField(default=0), + ), + migrations.AddField( + model_name='exam', + name='stats_min', + field=models.FloatField(default=0), + ), + migrations.AddField( + model_name='exam', + name='stats_mode', + field=models.CharField(default=0, max_length=25), + ), + ] diff --git a/sbas/migrations/0008_auto_20211215_2036.py b/sbas/migrations/0008_auto_20211215_2036.py new file mode 100644 index 00000000..9926752e --- /dev/null +++ b/sbas/migrations/0008_auto_20211215_2036.py @@ -0,0 +1,53 @@ +# Generated by Django 3.2.8 on 2021-12-15 20:36 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('sbas', '0007_exam_valid_users'), + ] + + operations = [ + migrations.AddField( + model_name='exam', + name='stats_candidates', + field=models.FloatField(default=0), + ), + migrations.AddField( + model_name='exam', + name='stats_graph', + field=models.TextField(default=0), + ), + migrations.AddField( + model_name='exam', + name='stats_max', + field=models.FloatField(default=0), + ), + migrations.AddField( + model_name='exam', + name='stats_max_possible', + field=models.FloatField(default=0), + ), + migrations.AddField( + model_name='exam', + name='stats_mean', + field=models.FloatField(default=0), + ), + migrations.AddField( + model_name='exam', + name='stats_median', + field=models.FloatField(default=0), + ), + migrations.AddField( + model_name='exam', + name='stats_min', + field=models.FloatField(default=0), + ), + migrations.AddField( + model_name='exam', + name='stats_mode', + field=models.CharField(default=0, max_length=25), + ), + ]