diff options
author | Prabhu Ramachandran | 2018-03-22 18:36:05 +0530 |
---|---|---|
committer | GitHub | 2018-03-22 18:36:05 +0530 |
commit | d4f49e8a93ed2ce2e63bd67fa77aa75741c2d6c5 (patch) | |
tree | 8a767d224ac6a1688cd3eb301b2ccac40413fc7e /grades/migrations/default_grading_system.py | |
parent | 734b221a98745ccb6218f43923731323a265966a (diff) | |
parent | c49550b6793c0481fae08f04c794218513894cc4 (diff) | |
download | online_test-d4f49e8a93ed2ce2e63bd67fa77aa75741c2d6c5.tar.gz online_test-d4f49e8a93ed2ce2e63bd67fa77aa75741c2d6c5.tar.bz2 online_test-d4f49e8a93ed2ce2e63bd67fa77aa75741c2d6c5.zip |
Merge pull request #438 from prathamesh920/Grades
Grades
Diffstat (limited to 'grades/migrations/default_grading_system.py')
-rw-r--r-- | grades/migrations/default_grading_system.py | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/grades/migrations/default_grading_system.py b/grades/migrations/default_grading_system.py new file mode 100644 index 0000000..85390d6 --- /dev/null +++ b/grades/migrations/default_grading_system.py @@ -0,0 +1,41 @@ +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') + + 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): + GradingSystem = apps.get_model('grades', 'GradingSystem') + GradeRange = apps.get_model('grades', 'GradeRange') + db = schema_editor.connection.alias + + default_system = GradingSystem.objects.using(db).get(creator=None) + GradeRange.object.using(db).filter(system=default_system).delete() + default_system.delete() + + +class Migration(migrations.Migration): + dependencies = [('grades', '0001_initial'), ] + operations = [migrations.RunPython(create_default_system, + delete_default_system), ] |