summaryrefslogtreecommitdiff
path: root/grades/migrations/default_grading_system.py
diff options
context:
space:
mode:
Diffstat (limited to 'grades/migrations/default_grading_system.py')
-rw-r--r--grades/migrations/default_grading_system.py37
1 files changed, 21 insertions, 16 deletions
diff --git a/grades/migrations/default_grading_system.py b/grades/migrations/default_grading_system.py
index 1629d29..85390d6 100644
--- a/grades/migrations/default_grading_system.py
+++ b/grades/migrations/default_grading_system.py
@@ -1,24 +1,28 @@
from django.db import migrations
+
def create_default_system(apps, schema_editor):
GradingSystem = apps.get_model('grades', 'GradingSystem')
GradeRange = apps.get_model('grades', 'GradeRange')
db = schema_editor.connection.alias
- default_system = GradingSystem.objects.using(db).create(name='default',
- can_be_used=True)
- GradeRange.objects.using(db).create(system=default_system, order=1, lower_limit=0,
- upper_limit=40, grade='F', description='Fail')
- GradeRange.objects.using(db).create(system=default_system, order=2, lower_limit=40,
- upper_limit=55, grade='P', description='Pass')
- GradeRange.objects.using(db).create(system=default_system, order=3, lower_limit=55,
- upper_limit=60, grade='C', description='Average')
- GradeRange.objects.using(db).create(system=default_system, order=4, lower_limit=60,
- upper_limit=75, grade='B', description='Satisfactory')
- GradeRange.objects.using(db).create(system=default_system, order=5, lower_limit=75,
- upper_limit=90, grade='A', description='Good')
- GradeRange.objects.using(db).create(system=default_system, order=6, lower_limit=90,
- upper_limit=101, grade='A+', description='Excellent')
+ default_system = GradingSystem.objects.using(db).create(name='default')
+
+ graderanges_objects = [
+ GradeRange(system=default_system, lower_limit=0, upper_limit=40,
+ grade='F', description='Fail'),
+ GradeRange(system=default_system, lower_limit=40, upper_limit=55,
+ grade='P', description='Pass'),
+ GradeRange(system=default_system, lower_limit=55, upper_limit=60,
+ grade='C', description='Average'),
+ GradeRange(system=default_system, lower_limit=60, upper_limit=75,
+ grade='B', description='Satisfactory'),
+ GradeRange(system=default_system, lower_limit=75, upper_limit=90,
+ grade='A', description='Good'),
+ GradeRange(system=default_system, lower_limit=90, upper_limit=101,
+ grade='A+', description='Excellent')
+ ]
+ GradeRange.objects.using(db).bulk_create(graderanges_objects)
def delete_default_system(apps, schema_editor):
@@ -32,5 +36,6 @@ def delete_default_system(apps, schema_editor):
class Migration(migrations.Migration):
- dependencies = [('grades', '0001_initial'),]
- operations = [migrations.RunPython(create_default_system, delete_default_system),]
+ dependencies = [('grades', '0001_initial'), ]
+ operations = [migrations.RunPython(create_default_system,
+ delete_default_system), ]