From 561d370cef00d35e0ee86e2beea907799a902cdc Mon Sep 17 00:00:00 2001 From: Dominik George <nik@naturalnet.de> Date: Wed, 4 Sep 2019 15:22:56 +0200 Subject: [PATCH] Add db indexes. Advances BiscuIT-ng#55. --- .../chronos/migrations/0002_db_indexes.py | 30 +++++++++++++++++++ biscuit/apps/chronos/models.py | 4 +++ 2 files changed, 34 insertions(+) create mode 100644 biscuit/apps/chronos/migrations/0002_db_indexes.py 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 00000000..49be25b9 --- /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 d081812b..1bf172e4 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'])] -- GitLab