# Generated by Django 5.2.4 on 2026-03-11 06:08

import django.db.models.deletion
from django.db import migrations, models


class Migration(migrations.Migration):

    dependencies = [
        ('api', '0002_create_first_admin'),
    ]

    operations = [
        migrations.CreateModel(
            name='TtAcademicTerm',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('code', models.CharField(max_length=150)),
                ('name', models.CharField(max_length=150)),
                ('start_date', models.DateField()),
                ('end_date', models.DateField()),
                ('start_time', models.TimeField()),
                ('end_time', models.TimeField()),
                ('status', models.SmallIntegerField()),
                ('created_by', models.BigIntegerField(null=True)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('updated_by', models.BigIntegerField(null=True)),
                ('updated_at', models.DateTimeField(auto_now=True)),
            ],
            options={
                'db_table': 'tt_academic_term',
            },
        ),
        migrations.CreateModel(
            name='TtModuleGroup',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('code', models.CharField(max_length=150)),
                ('name', models.CharField(max_length=150)),
                ('status', models.SmallIntegerField()),
                ('created_by', models.BigIntegerField(null=True)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('updated_by', models.BigIntegerField(null=True)),
                ('updated_at', models.DateTimeField(auto_now=True)),
            ],
            options={
                'db_table': 'tt_module_group',
            },
        ),
        migrations.CreateModel(
            name='TtWeek',
            fields=[
                ('id', models.BigAutoField(primary_key=True, serialize=False)),
                ('week', models.IntegerField()),
                ('start_date', models.DateField()),
            ],
            options={
                'db_table': 'tt_week',
            },
        ),
        migrations.CreateModel(
            name='TtDepartment',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('code', models.CharField(max_length=100)),
                ('name', models.CharField(max_length=100)),
                ('desc', models.TextField(null=True)),
                ('status', models.SmallIntegerField()),
                ('created_by', models.BigIntegerField(null=True)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('updated_by', models.BigIntegerField(null=True)),
                ('updated_at', models.DateTimeField(auto_now=True)),
                ('department', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='sub_department', to='api.ttdepartment')),
            ],
            options={
                'db_table': 'tt_department',
            },
        ),
        migrations.CreateModel(
            name='TtActivityType',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('code', models.CharField(max_length=100)),
                ('name', models.CharField(max_length=100)),
                ('desc', models.TextField(null=True)),
                ('booking', models.BooleanField(default=False)),
                ('contact', models.BooleanField(default=False)),
                ('cover', models.BooleanField(default=False)),
                ('color', models.CharField(max_length=100, null=True)),
                ('status', models.SmallIntegerField()),
                ('created_by', models.BigIntegerField(null=True)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('updated_by', models.BigIntegerField(null=True)),
                ('updated_at', models.DateTimeField(auto_now=True)),
                ('department', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='api.ttdepartment')),
            ],
            options={
                'db_table': 'tt_activity_type',
            },
        ),
        migrations.CreateModel(
            name='TtActivityTemplate',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('code', models.CharField(max_length=150)),
                ('name', models.CharField(max_length=150)),
                ('desc', models.TextField(null=True)),
                ('duration', models.IntegerField(db_comment='in minute', null=True)),
                ('slot_required', models.IntegerField(null=True)),
                ('planned_size', models.IntegerField(null=True)),
                ('status', models.SmallIntegerField()),
                ('created_by', models.BigIntegerField(null=True)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('updated_by', models.BigIntegerField(null=True)),
                ('updated_at', models.DateTimeField(auto_now=True)),
                ('academic_term', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='api.ttacademicterm')),
                ('activity_type', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='api.ttactivitytype')),
                ('department', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='api.ttdepartment')),
            ],
            options={
                'db_table': 'tt_activity_template',
            },
        ),
        migrations.CreateModel(
            name='TtActivity',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('code', models.CharField(max_length=150)),
                ('name', models.CharField(max_length=150)),
                ('desc', models.TextField(null=True)),
                ('duration', models.IntegerField(db_comment='in minute', null=True)),
                ('slot_required', models.IntegerField(null=True)),
                ('planned_size', models.IntegerField(null=True)),
                ('scheduled_start_time', models.TimeField(null=True)),
                ('scheduled_day', models.SmallIntegerField(db_comment='0 - Monday, 6 - Sunday', null=True)),
                ('scheduled_start_slot', models.IntegerField(db_comment='0-335(depends on based setting)', null=True)),
                ('is_jta', models.IntegerField(default=0, null=True)),
                ('is_variant', models.IntegerField(default=0, null=True)),
                ('scheduled', models.IntegerField(default=0, null=True)),
                ('status', models.SmallIntegerField()),
                ('created_by', models.BigIntegerField(null=True)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('updated_by', models.BigIntegerField(null=True)),
                ('updated_at', models.DateTimeField(auto_now=True)),
                ('academic_term', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='api.ttacademicterm')),
                ('jta_parent', models.ForeignKey(blank=True, db_comment='actually is the 2 parent have this value of the new child id', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='jta_children', to='api.ttactivity')),
                ('variant_parent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='variant_children', to='api.ttactivity')),
                ('activity_template', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='api.ttactivitytemplate')),
                ('activity_type', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='api.ttactivitytype')),
                ('department', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='api.ttdepartment')),
            ],
            options={
                'db_table': 'tt_activity',
            },
        ),
        migrations.CreateModel(
            name='TtLocation',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('code', models.CharField(max_length=150)),
                ('name', models.CharField(max_length=150)),
                ('desc', models.TextField(null=True)),
                ('capacity', models.IntegerField(null=True)),
                ('area', models.IntegerField(null=True)),
                ('maximum_period', models.IntegerField(null=True)),
                ('contract_period', models.IntegerField(null=True)),
                ('shared_with_all_department', models.BooleanField(default=False)),
                ('status', models.SmallIntegerField()),
                ('created_by', models.BigIntegerField(null=True)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('updated_by', models.BigIntegerField(null=True)),
                ('updated_at', models.DateTimeField(auto_now=True)),
                ('department', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='api.ttdepartment')),
            ],
            options={
                'db_table': 'tt_location',
            },
        ),
        migrations.CreateModel(
            name='TtActivityLocation',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('activity', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='api.ttactivity')),
                ('location', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='api.ttlocation')),
            ],
            options={
                'db_table': 'tt_activity_location',
                'unique_together': {('location', 'activity')},
            },
        ),
        migrations.AddField(
            model_name='ttactivity',
            name='location',
            field=models.ManyToManyField(through='api.TtActivityLocation', to='api.ttlocation'),
        ),
        migrations.CreateModel(
            name='TtLocationSharedWithDepartment',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('department', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='api.ttdepartment')),
                ('location', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='api.ttlocation')),
            ],
            options={
                'db_table': 'tt_location_shared_with_department',
                'unique_together': {('location', 'department')},
            },
        ),
        migrations.AddField(
            model_name='ttlocation',
            name='shared_with_department',
            field=models.ManyToManyField(related_name='location_shared_with_department', through='api.TtLocationSharedWithDepartment', to='api.ttdepartment'),
        ),
        migrations.CreateModel(
            name='TtModule',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('code', models.CharField(max_length=150)),
                ('name', models.CharField(max_length=150)),
                ('desc', models.TextField(null=True)),
                ('planned_size', models.IntegerField(null=True)),
                ('credit_provided', models.IntegerField(null=True)),
                ('status', models.SmallIntegerField()),
                ('created_by', models.BigIntegerField(null=True)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('updated_by', models.BigIntegerField(null=True)),
                ('updated_at', models.DateTimeField(auto_now=True)),
                ('academic_term', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='api.ttacademicterm')),
                ('department', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='api.ttdepartment')),
            ],
            options={
                'db_table': 'tt_module',
            },
        ),
        migrations.AddField(
            model_name='ttactivitytemplate',
            name='module',
            field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='api.ttmodule'),
        ),
        migrations.AddField(
            model_name='ttactivity',
            name='module',
            field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='api.ttmodule'),
        ),
        migrations.CreateModel(
            name='TtPos',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('code', models.CharField(max_length=150)),
                ('name', models.CharField(max_length=150)),
                ('desc', models.TextField(null=True)),
                ('planned_size', models.IntegerField(null=True)),
                ('max_credit', models.IntegerField(null=True)),
                ('status', models.SmallIntegerField()),
                ('created_by', models.BigIntegerField(null=True)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('updated_by', models.BigIntegerField(null=True)),
                ('updated_at', models.DateTimeField(auto_now=True)),
                ('academic_term', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='api.ttacademicterm')),
                ('department', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='api.ttdepartment')),
            ],
            options={
                'db_table': 'tt_pos',
            },
        ),
        migrations.CreateModel(
            name='TtPosModuleGroup',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('module_group', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='api.ttmodulegroup')),
                ('pos', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='api.ttpos')),
            ],
            options={
                'db_table': 'tt_pos_module_group',
            },
        ),
        migrations.AddField(
            model_name='ttpos',
            name='module_group',
            field=models.ManyToManyField(through='api.TtPosModuleGroup', to='api.ttmodulegroup'),
        ),
        migrations.CreateModel(
            name='TtPosModuleGroupModule',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('module', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='api.ttmodule')),
                ('pos_module_group', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='api.ttposmodulegroup')),
            ],
            options={
                'db_table': 'tt_pos_module_group_module',
                'unique_together': {('pos_module_group', 'module')},
            },
        ),
        migrations.AddField(
            model_name='ttposmodulegroup',
            name='module',
            field=models.ManyToManyField(through='api.TtPosModuleGroupModule', to='api.ttmodule'),
        ),
        migrations.CreateModel(
            name='TtStaff',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('code', models.CharField(max_length=150)),
                ('name', models.CharField(max_length=150)),
                ('email', models.EmailField(max_length=254, null=True)),
                ('desc', models.TextField(null=True)),
                ('is_part_time', models.BooleanField(default=False)),
                ('maximum_period', models.IntegerField(null=True)),
                ('contract_period', models.IntegerField(null=True)),
                ('shared_with_all_department', models.BooleanField(default=False)),
                ('status', models.SmallIntegerField()),
                ('created_by', models.BigIntegerField(null=True)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('updated_by', models.BigIntegerField(null=True)),
                ('updated_at', models.DateTimeField(auto_now=True)),
                ('department', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='api.ttdepartment')),
            ],
            options={
                'db_table': 'tt_staff',
            },
        ),
        migrations.CreateModel(
            name='TtActivityStaff',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('activity', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='api.ttactivity')),
                ('staff', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='api.ttstaff')),
            ],
            options={
                'db_table': 'tt_activity_staff',
                'unique_together': {('staff', 'activity')},
            },
        ),
        migrations.AddField(
            model_name='ttactivity',
            name='staff',
            field=models.ManyToManyField(through='api.TtActivityStaff', to='api.ttstaff'),
        ),
        migrations.CreateModel(
            name='TtStaffSharedWithDepartment',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('department', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='api.ttdepartment')),
                ('staff', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='api.ttstaff')),
            ],
            options={
                'db_table': 'tt_staff_shared_with_department',
                'unique_together': {('staff', 'department')},
            },
        ),
        migrations.AddField(
            model_name='ttstaff',
            name='shared_with_department',
            field=models.ManyToManyField(related_name='staff_shared_with_department', through='api.TtStaffSharedWithDepartment', to='api.ttdepartment'),
        ),
        migrations.CreateModel(
            name='TtStudentSet',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('code', models.CharField(max_length=150)),
                ('name', models.CharField(max_length=150)),
                ('desc', models.TextField(null=True)),
                ('planned_size', models.IntegerField(null=True)),
                ('status', models.SmallIntegerField()),
                ('created_by', models.BigIntegerField(null=True)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('updated_by', models.BigIntegerField(null=True)),
                ('updated_at', models.DateTimeField(auto_now=True)),
                ('academic_term', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='api.ttacademicterm')),
                ('department', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='api.ttdepartment')),
                ('pos', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='api.ttpos')),
            ],
            options={
                'db_table': 'tt_student_set',
            },
        ),
        migrations.CreateModel(
            name='TtStudentSetActivity',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('activity', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='api.ttactivity')),
                ('student_set', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='api.ttstudentset')),
            ],
            options={
                'db_table': 'tt_student_set_activity',
                'unique_together': {('student_set', 'activity')},
            },
        ),
        migrations.AddField(
            model_name='ttstudentset',
            name='activity',
            field=models.ManyToManyField(through='api.TtStudentSetActivity', to='api.ttactivity'),
        ),
        migrations.AddField(
            model_name='ttactivity',
            name='student_set',
            field=models.ManyToManyField(through='api.TtStudentSetActivity', to='api.ttstudentset'),
        ),
        migrations.CreateModel(
            name='TtStudentSetModule',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('module', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='api.ttmodule')),
                ('student_set', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='api.ttstudentset')),
            ],
            options={
                'db_table': 'tt_student_set_module',
                'unique_together': {('student_set', 'module')},
            },
        ),
        migrations.AddField(
            model_name='ttstudentset',
            name='module',
            field=models.ManyToManyField(through='api.TtStudentSetModule', to='api.ttmodule'),
        ),
        migrations.CreateModel(
            name='TtModuleWeek',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('module', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='api.ttmodule')),
                ('week', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='api.ttweek')),
            ],
            options={
                'db_table': 'tt_module_week',
                'unique_together': {('module', 'week')},
            },
        ),
        migrations.AddField(
            model_name='ttmodule',
            name='week',
            field=models.ManyToManyField(through='api.TtModuleWeek', to='api.ttweek'),
        ),
        migrations.CreateModel(
            name='TtActivityWeek',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('activity', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='api.ttactivity')),
                ('week', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='api.ttweek')),
            ],
            options={
                'db_table': 'tt_activity_week',
                'unique_together': {('activity', 'week')},
            },
        ),
        migrations.CreateModel(
            name='TtActivityTemplateWeek',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('activity_template', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='api.ttactivitytemplate')),
                ('week', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='api.ttweek')),
            ],
            options={
                'db_table': 'tt_activity_template_week',
                'unique_together': {('activity_template', 'week')},
            },
        ),
        migrations.AddField(
            model_name='ttactivitytemplate',
            name='week',
            field=models.ManyToManyField(through='api.TtActivityTemplateWeek', to='api.ttweek'),
        ),
        migrations.AddField(
            model_name='ttactivity',
            name='week',
            field=models.ManyToManyField(through='api.TtActivityWeek', to='api.ttweek'),
        ),
        migrations.CreateModel(
            name='TtAcademicTermWeek',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('academic_term', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='api.ttacademicterm')),
                ('week', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='api.ttweek')),
            ],
            options={
                'db_table': 'tt_academic_term_week',
                'unique_together': {('academic_term', 'week')},
            },
        ),
        migrations.AddField(
            model_name='ttacademicterm',
            name='week',
            field=models.ManyToManyField(through='api.TtAcademicTermWeek', to='api.ttweek'),
        ),
        migrations.CreateModel(
            name='TtWeekPattern',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('code', models.CharField(max_length=150)),
                ('name', models.CharField(max_length=150)),
                ('status', models.SmallIntegerField()),
                ('created_by', models.BigIntegerField(null=True)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('updated_by', models.BigIntegerField(null=True)),
                ('updated_at', models.DateTimeField(auto_now=True)),
                ('academic_term', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='api.ttacademicterm')),
                ('department', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='api.ttdepartment')),
            ],
            options={
                'db_table': 'tt_week_pattern',
            },
        ),
        migrations.AddField(
            model_name='ttmodule',
            name='week_pattern',
            field=models.ForeignKey(blank=True, db_comment='NULL means custom', null=True, on_delete=django.db.models.deletion.SET_NULL, to='api.ttweekpattern'),
        ),
        migrations.AddField(
            model_name='ttactivitytemplate',
            name='week_pattern',
            field=models.ForeignKey(blank=True, db_comment='NULL means custom', null=True, on_delete=django.db.models.deletion.SET_NULL, to='api.ttweekpattern'),
        ),
        migrations.AddField(
            model_name='ttactivity',
            name='week_pattern',
            field=models.ForeignKey(blank=True, db_comment='NULL means custom', null=True, on_delete=django.db.models.deletion.SET_NULL, to='api.ttweekpattern'),
        ),
        migrations.CreateModel(
            name='TtWeekPatternWeek',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('week', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='api.ttweek')),
                ('week_pattern', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='api.ttweekpattern')),
            ],
            options={
                'db_table': 'tt_week_pattern_week',
                'unique_together': {('week_pattern', 'week')},
            },
        ),
        migrations.AddField(
            model_name='ttweekpattern',
            name='week',
            field=models.ManyToManyField(through='api.TtWeekPatternWeek', to='api.ttweek'),
        ),
        migrations.AlterUniqueTogether(
            name='ttposmodulegroup',
            unique_together={('pos', 'module_group')},
        ),
    ]
