# Generated by Django 5.1.4 on 2025-01-06 13:02 import django.core.validators import django.db.models.deletion from django.db import migrations, models class Migration(migrations.Migration): initial = True dependencies = [ ('auth', '0012_alter_user_first_name_max_length'), ] operations = [ migrations.CreateModel( name='AcademicYear', fields=[ ('id', models.AutoField(primary_key=True, serialize=False)), ('batch', models.CharField(max_length=255, unique=True)), ], ), migrations.CreateModel( name='NewsEvent', fields=[ ('id', models.BigAutoField(primary_key=True, serialize=False)), ('title', models.CharField(max_length=255)), ('summary', models.TextField()), ('type', models.CharField(choices=[('news', 'News'), ('event', 'Event')], max_length=5)), ('created_at', models.DateTimeField(auto_now_add=True)), ], ), migrations.CreateModel( name='Staff', fields=[ ('id', models.AutoField(primary_key=True, serialize=False)), ('first_name', models.CharField(max_length=255)), ('last_name', models.CharField(max_length=255)), ('position', models.CharField(choices=[('clerk', 'Clerk'), ('assistant', 'Assistant'), ('guard', 'Guard')], max_length=255)), ('address', models.CharField(max_length=255)), ('email', models.EmailField(max_length=255, unique=True)), ('phone', models.CharField(max_length=15, validators=[django.core.validators.RegexValidator('^\\+?1?\\d{9,15}$', 'Enter a valid phone number.')])), ('active_status', models.BooleanField(default=True)), ('username', models.CharField(blank=True, max_length=255, null=True, unique=True)), ('password', models.CharField(max_length=255)), ], ), migrations.CreateModel( name='Course', fields=[ ('id', models.BigAutoField(primary_key=True, serialize=False)), ('name', models.CharField(max_length=100)), ('course_type', models.CharField(choices=[('semester', 'Semester-based'), ('yearly', 'Yearly-based')], max_length=10)), ('duration', models.PositiveIntegerField(help_text='Number of semesters or years')), ('academic_year', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='main.academicyear')), ], ), migrations.CreateModel( name='Student', fields=[ ('id', models.AutoField(primary_key=True, serialize=False)), ('active_status', models.BooleanField(default=True)), ('first_name', models.CharField(max_length=255)), ('last_name', models.CharField(max_length=255)), ('gender', models.CharField(choices=[('M', 'Male'), ('F', 'Female')], max_length=1)), ('phone', models.CharField(max_length=10, unique=True, validators=[django.core.validators.RegexValidator('^\\d{10}$', 'Enter a valid 10-digit phone number.')])), ('email', models.EmailField(max_length=255, unique=True)), ('username', models.CharField(blank=True, max_length=255, null=True, unique=True)), ('password', models.CharField(max_length=255)), ('academic_year', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='main.academicyear')), ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='main.course')), ], ), migrations.CreateModel( name='Subject', fields=[ ('id', models.BigAutoField(primary_key=True, serialize=False)), ('name', models.CharField(max_length=255)), ('semester_or_year_number', models.PositiveIntegerField()), ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='subjects', to='main.course')), ], ), migrations.CreateModel( name='Teacher', fields=[ ('id', models.AutoField(primary_key=True, serialize=False)), ('first_name', models.CharField(max_length=255)), ('last_name', models.CharField(max_length=255)), ('address', models.CharField(max_length=255)), ('gender', models.CharField(choices=[('M', 'Male'), ('F', 'Female')], max_length=1)), ('email', models.EmailField(max_length=255, unique=True)), ('phone', models.CharField(max_length=15, validators=[django.core.validators.RegexValidator('^\\+?1?\\d{9,15}$', 'Enter a valid phone number.')])), ('active_status', models.BooleanField(default=True)), ('username', models.CharField(blank=True, max_length=255, null=True, unique=True)), ('password', models.CharField(max_length=255)), ('group', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='auth.group')), ], ), ]