diff --git a/biscuit/apps/chronos/migrations/0002_db_indexes.py b/biscuit/apps/chronos/migrations/0002_db_indexes.py new file mode 100644 index 0000000000000000000000000000000000000000..49be25b9145eb526bcfa3c6aec74415fc6d6034b --- /dev/null +++ b/biscuit/apps/chronos/migrations/0002_db_indexes.py @@ -0,0 +1,30 @@ +# Generated by Django 2.2.4 on 2019-09-04 13:22 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('core', '0001_initial'), + ('chronos', '0001_initial'), + ] + + operations = [ + migrations.AlterUniqueTogether( + name='lessonsubstitution', + unique_together={('school', 'lesson_period', 'week')}, + ), + migrations.AddIndex( + model_name='lesson', + index=models.Index(fields=['date_start', 'date_end'], name='chronos_les_date_st_5ecc62_idx'), + ), + migrations.AddIndex( + model_name='lessonperiod', + index=models.Index(fields=['lesson', 'period'], name='chronos_les_lesson__05250e_idx'), + ), + migrations.AddIndex( + model_name='timeperiod', + index=models.Index(fields=['time_start', 'time_end'], name='chronos_tim_time_st_491e4c_idx'), + ), + ] diff --git a/biscuit/apps/chronos/models.py b/biscuit/apps/chronos/models.py index d081812be4122662bd3423ce804667a9550c206e..1bf172e468f2872da2042a2feacab5f647a2041a 100644 --- a/biscuit/apps/chronos/models.py +++ b/biscuit/apps/chronos/models.py @@ -43,6 +43,7 @@ class TimePeriod(SchoolRelated): class Meta: unique_together = [['school', 'weekday', 'period']] ordering = ['weekday', 'period'] + indexes = [models.Index(fields=['time_start', 'time_end'])] class Subject(SchoolRelated): @@ -101,6 +102,7 @@ class Lesson(SchoolRelated): class Meta: ordering = ['date_start'] + indexes = [models.Index(fields=['date_start', 'date_end'])] class LessonSubstitution(SchoolRelated): @@ -118,6 +120,7 @@ class LessonSubstitution(SchoolRelated): room = models.ForeignKey('Room', models.CASCADE, null=True) class Meta: + unique_together = [['school', 'lesson_period', 'week']] ordering = ['lesson_period__lesson__date_start', 'week', 'lesson_period__period__weekday', 'lesson_period__period__period'] @@ -165,3 +168,4 @@ class LessonPeriod(SchoolRelated): class Meta: ordering = ['lesson__date_start', 'period__weekday', 'period__period'] + indexes = [models.Index(fields=['lesson', 'period'])]