huh new thing
This commit is contained in:
1 parent
d40476ebc3
commit
0975a125c7
125 files changed
+2195
-21409
No files matched your search
+24
-628
@@ -1,9 +1,6 @@
|
||||
# Generated by Django 5.1.4 on 2025-01-15 05:35
|
||||
# Generated by Django 5.1.5 on 2025-01-16 16:52
|
||||
|
||||
import django.core.validators
|
||||
import django.db.models.deletion
|
||||
from decimal import Decimal
|
||||
from django.conf import settings
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
@@ -11,265 +8,21 @@ class Migration(migrations.Migration):
|
||||
|
||||
initial = True
|
||||
|
||||
dependencies = [
|
||||
("auth", "0012_alter_user_first_name_max_length"),
|
||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||
]
|
||||
dependencies = []
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name="AcademicYear",
|
||||
fields=[
|
||||
(
|
||||
"id",
|
||||
models.BigAutoField(
|
||||
auto_created=True,
|
||||
primary_key=True,
|
||||
serialize=False,
|
||||
verbose_name="ID",
|
||||
),
|
||||
),
|
||||
("year", models.CharField(max_length=255, unique=True)),
|
||||
],
|
||||
options={
|
||||
"verbose_name": "Academic Year",
|
||||
"verbose_name_plural": "Academic Years",
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name="Course",
|
||||
fields=[
|
||||
(
|
||||
"id",
|
||||
models.BigAutoField(
|
||||
auto_created=True,
|
||||
primary_key=True,
|
||||
serialize=False,
|
||||
verbose_name="ID",
|
||||
),
|
||||
),
|
||||
("name", models.CharField(max_length=100)),
|
||||
(
|
||||
"level",
|
||||
models.CharField(
|
||||
choices=[
|
||||
("basic", "Basic"),
|
||||
("primary", "Primary"),
|
||||
("secondary", "Secondary"),
|
||||
("vocational training", "Vocational Training"),
|
||||
("higher secondary", "Higher Secondary"),
|
||||
("graduation", "Graduation"),
|
||||
("post graduation", "Post Graduation"),
|
||||
],
|
||||
max_length=45,
|
||||
),
|
||||
),
|
||||
(
|
||||
"course_type",
|
||||
models.CharField(
|
||||
choices=[
|
||||
("semester", "Semester-based"),
|
||||
("yearly", "Yearly-based"),
|
||||
],
|
||||
max_length=10,
|
||||
),
|
||||
),
|
||||
("duration", models.PositiveIntegerField()),
|
||||
],
|
||||
options={
|
||||
"verbose_name": "Course",
|
||||
"verbose_name_plural": "Courses",
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name="Library",
|
||||
fields=[
|
||||
(
|
||||
"id",
|
||||
models.BigAutoField(
|
||||
auto_created=True,
|
||||
primary_key=True,
|
||||
serialize=False,
|
||||
verbose_name="ID",
|
||||
),
|
||||
),
|
||||
("category", models.CharField(max_length=255)),
|
||||
("book_name", models.CharField(max_length=255)),
|
||||
("description", models.CharField(max_length=255)),
|
||||
("publication", models.CharField(max_length=255)),
|
||||
("publication_year", models.PositiveIntegerField()),
|
||||
("quantity", models.PositiveIntegerField()),
|
||||
(
|
||||
"available",
|
||||
models.CharField(choices=[("Y", "Yes"), ("N", "NO")], max_length=1),
|
||||
),
|
||||
("date_added", models.DateField(auto_now_add=True)),
|
||||
],
|
||||
options={
|
||||
"verbose_name": "Library",
|
||||
"verbose_name_plural": "Library",
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name="NewsEvent",
|
||||
fields=[
|
||||
(
|
||||
"id",
|
||||
models.BigAutoField(
|
||||
auto_created=True,
|
||||
primary_key=True,
|
||||
serialize=False,
|
||||
verbose_name="ID",
|
||||
),
|
||||
),
|
||||
("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)),
|
||||
],
|
||||
options={
|
||||
"verbose_name": "News/Event",
|
||||
"verbose_name_plural": "News/Events",
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name="Attendance",
|
||||
fields=[
|
||||
("id", models.AutoField(primary_key=True, serialize=False)),
|
||||
("date", models.DateField()),
|
||||
(
|
||||
"status",
|
||||
models.CharField(
|
||||
choices=[("present", "Present"), ("absent", "Absent")],
|
||||
max_length=10,
|
||||
),
|
||||
),
|
||||
(
|
||||
"session_year",
|
||||
models.ForeignKey(
|
||||
on_delete=django.db.models.deletion.CASCADE,
|
||||
to="app.academicyear",
|
||||
),
|
||||
),
|
||||
],
|
||||
options={
|
||||
"verbose_name": "Attendance",
|
||||
"verbose_name_plural": "Attendance Records",
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name="Staff",
|
||||
fields=[
|
||||
(
|
||||
"id",
|
||||
models.BigAutoField(
|
||||
auto_created=True,
|
||||
primary_key=True,
|
||||
serialize=False,
|
||||
verbose_name="ID",
|
||||
),
|
||||
),
|
||||
("active_status", models.BooleanField(default=True)),
|
||||
("first_name", models.CharField(max_length=255)),
|
||||
(
|
||||
"middle_name",
|
||||
models.CharField(blank=True, max_length=255, null=True),
|
||||
),
|
||||
("last_name", models.CharField(max_length=255)),
|
||||
("email", models.EmailField(max_length=255, unique=True)),
|
||||
(
|
||||
"phone",
|
||||
models.CharField(
|
||||
max_length=10,
|
||||
validators=[
|
||||
django.core.validators.RegexValidator("^\\+?1?\\d{9,15}$")
|
||||
],
|
||||
),
|
||||
),
|
||||
(
|
||||
"username",
|
||||
models.CharField(
|
||||
blank=True, max_length=255, null=True, unique=True
|
||||
),
|
||||
),
|
||||
("password", models.CharField(max_length=255)),
|
||||
(
|
||||
"gender",
|
||||
models.CharField(
|
||||
choices=[("M", "Male"), ("F", "Female")], max_length=1
|
||||
),
|
||||
),
|
||||
(
|
||||
"position",
|
||||
models.CharField(
|
||||
choices=[
|
||||
("lab Assistant", "Lab Assistant"),
|
||||
("librarian", "Librarian"),
|
||||
("accountant", "Accountant"),
|
||||
("guard", "Guard"),
|
||||
("driver", "Driver"),
|
||||
("helper", "Helper"),
|
||||
("cleaner", "Cleaner"),
|
||||
],
|
||||
max_length=255,
|
||||
),
|
||||
),
|
||||
("address", models.CharField(max_length=255)),
|
||||
(
|
||||
"marital_status",
|
||||
models.CharField(
|
||||
choices=[
|
||||
("married", "Married"),
|
||||
("widowed", "Widowed"),
|
||||
("separated", "Separated"),
|
||||
("divorced", "Divorced"),
|
||||
("single", "Single"),
|
||||
],
|
||||
max_length=10,
|
||||
),
|
||||
),
|
||||
("date_of_joining", models.DateField()),
|
||||
("group", models.ManyToManyField(blank=True, to="auth.group")),
|
||||
(
|
||||
"user",
|
||||
models.OneToOneField(
|
||||
blank=True,
|
||||
null=True,
|
||||
on_delete=django.db.models.deletion.CASCADE,
|
||||
to=settings.AUTH_USER_MODEL,
|
||||
),
|
||||
),
|
||||
],
|
||||
options={
|
||||
"verbose_name": "Staff",
|
||||
"verbose_name_plural": "Staff",
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name="Student",
|
||||
fields=[
|
||||
(
|
||||
"id",
|
||||
models.BigAutoField(
|
||||
auto_created=True,
|
||||
primary_key=True,
|
||||
serialize=False,
|
||||
verbose_name="ID",
|
||||
),
|
||||
),
|
||||
("active_status", models.BooleanField(default=True)),
|
||||
("id", models.AutoField(primary_key=True, serialize=False)),
|
||||
("first_name", models.CharField(max_length=255)),
|
||||
(
|
||||
"middle_name",
|
||||
models.CharField(blank=True, max_length=255, null=True),
|
||||
),
|
||||
("last_name", models.CharField(max_length=255)),
|
||||
("email", models.EmailField(max_length=255, unique=True)),
|
||||
("username", models.CharField(max_length=255)),
|
||||
("password", models.CharField(max_length=255)),
|
||||
(
|
||||
"phone",
|
||||
models.CharField(
|
||||
@@ -279,14 +32,8 @@ class Migration(migrations.Migration):
|
||||
],
|
||||
),
|
||||
),
|
||||
(
|
||||
"username",
|
||||
models.CharField(
|
||||
blank=True, max_length=255, null=True, unique=True
|
||||
),
|
||||
),
|
||||
("password", models.CharField(max_length=255)),
|
||||
("date_of_birth", models.DateField()),
|
||||
("email", models.EmailField(max_length=255, unique=True)),
|
||||
("dob", models.DateField()),
|
||||
(
|
||||
"gender",
|
||||
models.CharField(
|
||||
@@ -294,9 +41,10 @@ class Migration(migrations.Migration):
|
||||
),
|
||||
),
|
||||
("address", models.CharField(max_length=255)),
|
||||
("father_name", models.CharField(max_length=100)),
|
||||
("father_name", models.CharField(max_length=255)),
|
||||
("mother_name", models.CharField(max_length=255)),
|
||||
(
|
||||
"father_phone_no",
|
||||
"parents_number",
|
||||
models.CharField(
|
||||
max_length=10,
|
||||
validators=[
|
||||
@@ -304,24 +52,19 @@ class Migration(migrations.Migration):
|
||||
],
|
||||
),
|
||||
),
|
||||
(
|
||||
"father_email",
|
||||
models.EmailField(blank=True, max_length=254, null=True),
|
||||
),
|
||||
(
|
||||
"father_occupation",
|
||||
models.CharField(
|
||||
choices=[
|
||||
("agriculture", "Agriculture"),
|
||||
("banker", "Banker"),
|
||||
("business", "Business"),
|
||||
("doctor", "Doctor"),
|
||||
("farmer", "Farmer"),
|
||||
("fisherman", "Fisherman"),
|
||||
("teacher", "teacher"),
|
||||
("public service", "Public Service"),
|
||||
("private service", "Private Service"),
|
||||
("shopkeeper", "Shopkeeper"),
|
||||
("driver", "Driver"),
|
||||
("housewife", "HouseWife"),
|
||||
("worker", "Worker"),
|
||||
("N/A", "N/A"),
|
||||
],
|
||||
@@ -329,37 +72,19 @@ class Migration(migrations.Migration):
|
||||
max_length=45,
|
||||
),
|
||||
),
|
||||
("mother_name", models.CharField(max_length=100)),
|
||||
(
|
||||
"mother_phone_no",
|
||||
models.CharField(
|
||||
blank=True,
|
||||
max_length=10,
|
||||
null=True,
|
||||
validators=[
|
||||
django.core.validators.RegexValidator("^\\+?1?\\d{9,15}$")
|
||||
],
|
||||
),
|
||||
),
|
||||
(
|
||||
"mother_email",
|
||||
models.EmailField(blank=True, max_length=254, null=True),
|
||||
),
|
||||
(
|
||||
"mother_occupation",
|
||||
models.CharField(
|
||||
choices=[
|
||||
("agriculture", "Agriculture"),
|
||||
("banker", "Banker"),
|
||||
("business", "Business"),
|
||||
("doctor", "Doctor"),
|
||||
("farmer", "Farmer"),
|
||||
("fisherman", "Fisherman"),
|
||||
("teacher", "teacher"),
|
||||
("public service", "Public Service"),
|
||||
("private service", "Private Service"),
|
||||
("shopkeeper", "Shopkeeper"),
|
||||
("driver", "Driver"),
|
||||
("houseWife", "HouseWife"),
|
||||
("housewife", "HouseWife"),
|
||||
("worker", "Worker"),
|
||||
("N/A", "N/A"),
|
||||
],
|
||||
@@ -367,9 +92,9 @@ class Migration(migrations.Migration):
|
||||
max_length=45,
|
||||
),
|
||||
),
|
||||
("guardian_name", models.CharField(max_length=100)),
|
||||
("guardian_name", models.CharField(max_length=255)),
|
||||
(
|
||||
"guardian_phone_no",
|
||||
"guardian_number",
|
||||
models.CharField(
|
||||
max_length=10,
|
||||
validators=[
|
||||
@@ -377,10 +102,6 @@ class Migration(migrations.Migration):
|
||||
],
|
||||
),
|
||||
),
|
||||
(
|
||||
"guardian_email",
|
||||
models.EmailField(blank=True, max_length=254, null=True),
|
||||
),
|
||||
(
|
||||
"relationship_with_student",
|
||||
models.CharField(
|
||||
@@ -396,256 +117,20 @@ class Migration(migrations.Migration):
|
||||
max_length=45,
|
||||
),
|
||||
),
|
||||
(
|
||||
"academic_year",
|
||||
models.ForeignKey(
|
||||
on_delete=django.db.models.deletion.CASCADE,
|
||||
to="app.academicyear",
|
||||
),
|
||||
),
|
||||
(
|
||||
"course",
|
||||
models.ForeignKey(
|
||||
on_delete=django.db.models.deletion.CASCADE, to="app.course"
|
||||
),
|
||||
),
|
||||
("group", models.ManyToManyField(blank=True, to="auth.group")),
|
||||
(
|
||||
"user",
|
||||
models.OneToOneField(
|
||||
blank=True,
|
||||
null=True,
|
||||
on_delete=django.db.models.deletion.CASCADE,
|
||||
to=settings.AUTH_USER_MODEL,
|
||||
),
|
||||
),
|
||||
],
|
||||
options={
|
||||
"verbose_name": "Student",
|
||||
"verbose_name_plural": "Students",
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name="Marksheet",
|
||||
fields=[
|
||||
(
|
||||
"id",
|
||||
models.BigAutoField(
|
||||
auto_created=True,
|
||||
primary_key=True,
|
||||
serialize=False,
|
||||
verbose_name="ID",
|
||||
),
|
||||
),
|
||||
(
|
||||
"period_number",
|
||||
models.PositiveIntegerField(
|
||||
help_text="Select the semester/year number within the course duration."
|
||||
),
|
||||
),
|
||||
(
|
||||
"total_marks",
|
||||
models.PositiveIntegerField(
|
||||
blank=True,
|
||||
default=Decimal("0.00"),
|
||||
null=True,
|
||||
validators=[django.core.validators.MinValueValidator(0)],
|
||||
),
|
||||
),
|
||||
(
|
||||
"obtained_marks",
|
||||
models.PositiveIntegerField(
|
||||
default=Decimal("0.00"),
|
||||
validators=[django.core.validators.MinValueValidator(0)],
|
||||
),
|
||||
),
|
||||
(
|
||||
"grade",
|
||||
models.CharField(
|
||||
blank=True,
|
||||
choices=[
|
||||
("A+", "A+"),
|
||||
("A", "A"),
|
||||
("B+", "B+"),
|
||||
("B", "B"),
|
||||
("C+", "C+"),
|
||||
("C", "C"),
|
||||
("D", "D"),
|
||||
("E", "E"),
|
||||
],
|
||||
max_length=2,
|
||||
null=True,
|
||||
),
|
||||
),
|
||||
(
|
||||
"course",
|
||||
models.ForeignKey(
|
||||
on_delete=django.db.models.deletion.CASCADE,
|
||||
related_name="marksheets",
|
||||
to="app.course",
|
||||
),
|
||||
),
|
||||
(
|
||||
"student",
|
||||
models.ForeignKey(
|
||||
on_delete=django.db.models.deletion.CASCADE,
|
||||
related_name="marksheets",
|
||||
to="app.student",
|
||||
),
|
||||
),
|
||||
],
|
||||
options={
|
||||
"verbose_name": "Marksheet",
|
||||
"verbose_name_plural": "Marksheets",
|
||||
"unique_together": {("student", "course", "period_number")},
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name="Certificate",
|
||||
fields=[
|
||||
("id", models.AutoField(primary_key=True, serialize=False)),
|
||||
("finished_year", models.CharField(max_length=5)),
|
||||
("issued_by", models.CharField(max_length=255)),
|
||||
("checked_by", models.CharField(max_length=255)),
|
||||
("principle", models.CharField(max_length=255)),
|
||||
("date", models.DateField()),
|
||||
(
|
||||
"student",
|
||||
models.ForeignKey(
|
||||
on_delete=django.db.models.deletion.CASCADE,
|
||||
related_name="certificate",
|
||||
to="app.student",
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name="AttendanceReport",
|
||||
fields=[
|
||||
("id", models.AutoField(primary_key=True, serialize=False)),
|
||||
("status", models.BooleanField(default=False)),
|
||||
("created_at", models.DateTimeField(auto_now_add=True)),
|
||||
("updated_at", models.DateTimeField(auto_now_add=True)),
|
||||
(
|
||||
"attendance_id",
|
||||
models.ForeignKey(
|
||||
on_delete=django.db.models.deletion.CASCADE, to="app.attendance"
|
||||
),
|
||||
),
|
||||
(
|
||||
"student_id",
|
||||
models.ForeignKey(
|
||||
on_delete=django.db.models.deletion.CASCADE, to="app.student"
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name="attendance",
|
||||
name="student",
|
||||
field=models.ForeignKey(
|
||||
on_delete=django.db.models.deletion.CASCADE, to="app.student"
|
||||
),
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name="Subject",
|
||||
fields=[
|
||||
(
|
||||
"id",
|
||||
models.BigAutoField(
|
||||
auto_created=True,
|
||||
primary_key=True,
|
||||
serialize=False,
|
||||
verbose_name="ID",
|
||||
),
|
||||
),
|
||||
("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="app.course",
|
||||
),
|
||||
),
|
||||
],
|
||||
options={
|
||||
"verbose_name": "Subject",
|
||||
"verbose_name_plural": "Subjects",
|
||||
"ordering": ["course", "semester_or_year_number", "name"],
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name="Result",
|
||||
fields=[
|
||||
("id", models.AutoField(primary_key=True, serialize=False)),
|
||||
(
|
||||
"practical_marks",
|
||||
models.DecimalField(
|
||||
decimal_places=2, default=Decimal("0.00"), max_digits=5
|
||||
),
|
||||
),
|
||||
(
|
||||
"exam_marks",
|
||||
models.DecimalField(
|
||||
decimal_places=2, default=Decimal("0.00"), max_digits=5
|
||||
),
|
||||
),
|
||||
(
|
||||
"total_marks",
|
||||
models.DecimalField(
|
||||
decimal_places=2,
|
||||
default=Decimal("0.00"),
|
||||
editable=False,
|
||||
max_digits=5,
|
||||
),
|
||||
),
|
||||
(
|
||||
"student",
|
||||
models.ForeignKey(
|
||||
on_delete=django.db.models.deletion.CASCADE, to="app.student"
|
||||
),
|
||||
),
|
||||
(
|
||||
"subject",
|
||||
models.ForeignKey(
|
||||
on_delete=django.db.models.deletion.CASCADE, to="app.subject"
|
||||
),
|
||||
),
|
||||
],
|
||||
options={
|
||||
"verbose_name": "Result",
|
||||
"verbose_name_plural": "Results",
|
||||
},
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name="attendance",
|
||||
name="subject",
|
||||
field=models.ForeignKey(
|
||||
on_delete=django.db.models.deletion.CASCADE, to="app.subject"
|
||||
),
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name="Teacher",
|
||||
fields=[
|
||||
(
|
||||
"id",
|
||||
models.BigAutoField(
|
||||
auto_created=True,
|
||||
primary_key=True,
|
||||
serialize=False,
|
||||
verbose_name="ID",
|
||||
),
|
||||
),
|
||||
("active_status", models.BooleanField(default=True)),
|
||||
("id", models.AutoField(primary_key=True, serialize=False)),
|
||||
("first_name", models.CharField(max_length=255)),
|
||||
(
|
||||
"middle_name",
|
||||
models.CharField(blank=True, max_length=255, null=True),
|
||||
),
|
||||
("last_name", models.CharField(max_length=255)),
|
||||
("email", models.EmailField(max_length=255, unique=True)),
|
||||
(
|
||||
"phone",
|
||||
models.CharField(
|
||||
@@ -655,20 +140,17 @@ class Migration(migrations.Migration):
|
||||
],
|
||||
),
|
||||
),
|
||||
(
|
||||
"username",
|
||||
models.CharField(
|
||||
blank=True, max_length=255, null=True, unique=True
|
||||
),
|
||||
),
|
||||
("password", models.CharField(max_length=255)),
|
||||
("address", models.CharField(max_length=255)),
|
||||
("email", models.EmailField(max_length=255, unique=True)),
|
||||
("dob", models.DateField()),
|
||||
(
|
||||
"gender",
|
||||
models.CharField(
|
||||
choices=[("M", "Male"), ("F", "Female")], max_length=1
|
||||
),
|
||||
),
|
||||
("address", models.CharField(max_length=255)),
|
||||
("username", models.CharField(max_length=255)),
|
||||
("password", models.CharField(max_length=255)),
|
||||
(
|
||||
"qualification",
|
||||
models.CharField(
|
||||
@@ -703,94 +185,8 @@ class Migration(migrations.Migration):
|
||||
),
|
||||
),
|
||||
("date_of_joining", models.DateField()),
|
||||
("group", models.ManyToManyField(blank=True, to="auth.group")),
|
||||
(
|
||||
"user",
|
||||
models.OneToOneField(
|
||||
blank=True,
|
||||
null=True,
|
||||
on_delete=django.db.models.deletion.CASCADE,
|
||||
to=settings.AUTH_USER_MODEL,
|
||||
),
|
||||
),
|
||||
("created_at", models.DateTimeField(auto_now_add=True)),
|
||||
("updated_at", models.DateTimeField(auto_now_add=True)),
|
||||
],
|
||||
options={
|
||||
"verbose_name": "Teacher",
|
||||
"verbose_name_plural": "Teachers",
|
||||
},
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name="subject",
|
||||
name="teacher",
|
||||
field=models.ForeignKey(
|
||||
blank=True,
|
||||
null=True,
|
||||
on_delete=django.db.models.deletion.CASCADE,
|
||||
related_name="subjects",
|
||||
to="app.teacher",
|
||||
),
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name="SubjectMark",
|
||||
fields=[
|
||||
(
|
||||
"id",
|
||||
models.BigAutoField(
|
||||
auto_created=True,
|
||||
primary_key=True,
|
||||
serialize=False,
|
||||
verbose_name="ID",
|
||||
),
|
||||
),
|
||||
(
|
||||
"obtained_practical_marks",
|
||||
models.DecimalField(
|
||||
decimal_places=2, default=Decimal("0.00"), max_digits=5
|
||||
),
|
||||
),
|
||||
(
|
||||
"total_practical_marks",
|
||||
models.DecimalField(
|
||||
decimal_places=2, default=Decimal("20.00"), max_digits=5
|
||||
),
|
||||
),
|
||||
(
|
||||
"obtained_theory_marks",
|
||||
models.DecimalField(
|
||||
decimal_places=2, default=Decimal("0.00"), max_digits=5
|
||||
),
|
||||
),
|
||||
(
|
||||
"total_theory_marks",
|
||||
models.DecimalField(
|
||||
decimal_places=2, default=Decimal("80.00"), max_digits=5
|
||||
),
|
||||
),
|
||||
(
|
||||
"total_marks",
|
||||
models.DecimalField(
|
||||
decimal_places=2, default=Decimal("0.00"), max_digits=5
|
||||
),
|
||||
),
|
||||
(
|
||||
"marksheet",
|
||||
models.ForeignKey(
|
||||
on_delete=django.db.models.deletion.CASCADE,
|
||||
related_name="subject_marks",
|
||||
to="app.marksheet",
|
||||
),
|
||||
),
|
||||
(
|
||||
"subject",
|
||||
models.ForeignKey(
|
||||
on_delete=django.db.models.deletion.CASCADE,
|
||||
related_name="subject_marks",
|
||||
to="app.subject",
|
||||
),
|
||||
),
|
||||
],
|
||||
options={
|
||||
"unique_together": {("marksheet", "subject")},
|
||||
},
|
||||
),
|
||||
]
|
||||
@@ -1,17 +0,0 @@
|
||||
# Generated by Django 5.1.4 on 2025-01-15 05:39
|
||||
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
("app", "0001_initial"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RemoveField(
|
||||
model_name="attendancereport",
|
||||
name="status",
|
||||
),
|
||||
]
|
||||
@@ -0,0 +1,40 @@
|
||||
# Generated by Django 5.1.5 on 2025-01-16 16:55
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
("app", "0001_initial"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RenameField(
|
||||
model_name="teacher",
|
||||
old_name="specialization",
|
||||
new_name="specialization_on",
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name="teacher",
|
||||
name="qualification",
|
||||
field=models.CharField(
|
||||
choices=[
|
||||
("SLC", "SLC"),
|
||||
("Intermediate", "Intermediate"),
|
||||
("BA", "BA"),
|
||||
("BBS", "BBS"),
|
||||
("BE", "BE"),
|
||||
("BEd", "BEd"),
|
||||
("BSc", "BSc"),
|
||||
("MA", "MA"),
|
||||
("MSc", "MSc"),
|
||||
("MBS", "MBS"),
|
||||
("ME", "ME"),
|
||||
("PhD", "PhD"),
|
||||
("Others", "Others"),
|
||||
],
|
||||
max_length=45,
|
||||
),
|
||||
),
|
||||
]
|
||||
@@ -0,0 +1,64 @@
|
||||
# Generated by Django 5.1.5 on 2025-01-16 17:12
|
||||
|
||||
import django.db.models.deletion
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
("app", "0002_rename_specialization_teacher_specialization_on_and_more"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name="AcademicYear",
|
||||
fields=[
|
||||
("id", models.AutoField(primary_key=True, serialize=False)),
|
||||
("start_date", models.DateField()),
|
||||
("created_at", models.DateTimeField(auto_now_add=True)),
|
||||
("updated_at", models.DateTimeField(auto_now_add=True)),
|
||||
],
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name="Course",
|
||||
fields=[
|
||||
("id", models.AutoField(primary_key=True, serialize=False)),
|
||||
("name", models.CharField(max_length=255, unique=True)),
|
||||
(
|
||||
"course_type",
|
||||
models.CharField(
|
||||
choices=[
|
||||
("semester", "Semester-based"),
|
||||
("year", "Year-based"),
|
||||
],
|
||||
max_length=10,
|
||||
),
|
||||
),
|
||||
(
|
||||
"duration",
|
||||
models.PositiveIntegerField(help_text="Duration in months"),
|
||||
),
|
||||
("created_at", models.DateTimeField(auto_now_add=True)),
|
||||
("updated_at", models.DateTimeField(auto_now=True)),
|
||||
],
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name="Subject",
|
||||
fields=[
|
||||
("id", models.AutoField(primary_key=True, serialize=False)),
|
||||
("name", models.CharField(max_length=255, unique=True)),
|
||||
("description", models.TextField(blank=True, null=True)),
|
||||
("created_at", models.DateTimeField(auto_now_add=True)),
|
||||
("updated_at", models.DateTimeField(auto_now=True)),
|
||||
(
|
||||
"course",
|
||||
models.ForeignKey(
|
||||
on_delete=django.db.models.deletion.CASCADE,
|
||||
related_name="subjects",
|
||||
to="app.course",
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
]
|
||||
@@ -1,16 +0,0 @@
|
||||
# Generated by Django 5.1.4 on 2025-01-15 05:42
|
||||
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
("app", "0002_remove_attendancereport_status"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.DeleteModel(
|
||||
name="AttendanceReport",
|
||||
),
|
||||
]
|
||||
@@ -1,40 +0,0 @@
|
||||
# Generated by Django 5.1.4 on 2025-01-15 05:59
|
||||
|
||||
import django.db.models.deletion
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
("app", "0003_delete_attendancereport"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name="ClassRoutine",
|
||||
fields=[
|
||||
("id", models.AutoField(primary_key=True, serialize=False)),
|
||||
("start_time", models.TimeField()),
|
||||
("end_time", models.TimeField()),
|
||||
(
|
||||
"course",
|
||||
models.ForeignKey(
|
||||
on_delete=django.db.models.deletion.CASCADE, to="app.course"
|
||||
),
|
||||
),
|
||||
(
|
||||
"subject",
|
||||
models.ForeignKey(
|
||||
on_delete=django.db.models.deletion.CASCADE, to="app.subject"
|
||||
),
|
||||
),
|
||||
(
|
||||
"teacher",
|
||||
models.ForeignKey(
|
||||
on_delete=django.db.models.deletion.CASCADE, to="app.teacher"
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
]
|
||||
@@ -0,0 +1,26 @@
|
||||
# Generated by Django 5.1.5 on 2025-01-16 17:15
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
("app", "0003_academicyear_course_subject"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RemoveField(
|
||||
model_name="subject",
|
||||
name="description",
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name="subject",
|
||||
name="duration",
|
||||
field=models.PositiveIntegerField(
|
||||
default="1",
|
||||
help_text="For semester-based courses, specify the semester number. For year-based courses, specify the year.",
|
||||
),
|
||||
preserve_default=False,
|
||||
),
|
||||
]
|
||||
@@ -1,30 +0,0 @@
|
||||
# Generated by Django 5.1.4 on 2025-01-15 06:04
|
||||
|
||||
import django.db.models.deletion
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
("app", "0004_classroutine"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name="Complaint",
|
||||
fields=[
|
||||
("id", models.AutoField(primary_key=True, serialize=False)),
|
||||
("subject", models.CharField(max_length=255)),
|
||||
("description", models.TextField()),
|
||||
("date", models.DateField()),
|
||||
(
|
||||
"academic_year",
|
||||
models.ForeignKey(
|
||||
on_delete=django.db.models.deletion.CASCADE,
|
||||
to="app.academicyear",
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
]
|
||||
@@ -0,0 +1,36 @@
|
||||
# Generated by Django 5.1.5 on 2025-01-16 17:35
|
||||
|
||||
import django.db.models.deletion
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
("app", "0004_remove_subject_description_subject_duration"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name="student",
|
||||
name="academic_year",
|
||||
field=models.ForeignKey(
|
||||
default="1",
|
||||
on_delete=django.db.models.deletion.CASCADE,
|
||||
related_name="students",
|
||||
to="app.academicyear",
|
||||
),
|
||||
preserve_default=False,
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name="student",
|
||||
name="course",
|
||||
field=models.ForeignKey(
|
||||
default="1",
|
||||
on_delete=django.db.models.deletion.CASCADE,
|
||||
related_name="students",
|
||||
to="app.course",
|
||||
),
|
||||
preserve_default=False,
|
||||
),
|
||||
]
|
||||
@@ -0,0 +1,57 @@
|
||||
# Generated by Django 5.1.5 on 2025-01-16 17:37
|
||||
|
||||
import django.db.models.deletion
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
("app", "0005_student_academic_year_student_course"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name="Attendance",
|
||||
fields=[
|
||||
("id", models.AutoField(primary_key=True, serialize=False)),
|
||||
("attendance_date", models.DateField()),
|
||||
("created_at", models.DateTimeField(auto_now_add=True)),
|
||||
("updated_at", models.DateTimeField(auto_now=True)),
|
||||
(
|
||||
"academic_year",
|
||||
models.ForeignKey(
|
||||
on_delete=django.db.models.deletion.CASCADE,
|
||||
to="app.academicyear",
|
||||
),
|
||||
),
|
||||
(
|
||||
"subject_id",
|
||||
models.ForeignKey(
|
||||
on_delete=django.db.models.deletion.DO_NOTHING, to="app.subject"
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name="AttendanceReport",
|
||||
fields=[
|
||||
("id", models.AutoField(primary_key=True, serialize=False)),
|
||||
("status", models.BooleanField(default=False)),
|
||||
("created_at", models.DateTimeField(auto_now_add=True)),
|
||||
("updated_at", models.DateTimeField(auto_now_add=True)),
|
||||
(
|
||||
"attendance_id",
|
||||
models.ForeignKey(
|
||||
on_delete=django.db.models.deletion.CASCADE, to="app.attendance"
|
||||
),
|
||||
),
|
||||
(
|
||||
"student_id",
|
||||
models.ForeignKey(
|
||||
on_delete=django.db.models.deletion.DO_NOTHING, to="app.student"
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
]
|
||||
@@ -1,17 +0,0 @@
|
||||
# Generated by Django 5.1.4 on 2025-01-15 06:05
|
||||
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
("app", "0005_complaint"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RemoveField(
|
||||
model_name="complaint",
|
||||
name="academic_year",
|
||||
),
|
||||
]
|
||||
@@ -0,0 +1,48 @@
|
||||
# Generated by Django 5.1.5 on 2025-01-16 17:44
|
||||
|
||||
import django.db.models.deletion
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
("app", "0006_attendance_attendancereport"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name="LeaveReportStudent",
|
||||
fields=[
|
||||
("id", models.AutoField(primary_key=True, serialize=False)),
|
||||
("leave_date", models.CharField(max_length=255)),
|
||||
("leave_message", models.TextField()),
|
||||
("leave_status", models.IntegerField(default=0)),
|
||||
("created_at", models.DateTimeField(auto_now_add=True)),
|
||||
("updated_at", models.DateTimeField(auto_now=True)),
|
||||
(
|
||||
"student_id",
|
||||
models.ForeignKey(
|
||||
on_delete=django.db.models.deletion.CASCADE, to="app.student"
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name="LeaveReportTeacher",
|
||||
fields=[
|
||||
("id", models.AutoField(primary_key=True, serialize=False)),
|
||||
("leave_date", models.CharField(max_length=255)),
|
||||
("leave_message", models.TextField()),
|
||||
("leave_status", models.IntegerField(default=0)),
|
||||
("created_at", models.DateTimeField(auto_now_add=True)),
|
||||
("updated_at", models.DateTimeField(auto_now=True)),
|
||||
(
|
||||
"teacher_id",
|
||||
models.ForeignKey(
|
||||
on_delete=django.db.models.deletion.CASCADE, to="app.teacher"
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
]
|
||||
@@ -1,33 +0,0 @@
|
||||
# Generated by Django 5.1.4 on 2025-01-15 06:11
|
||||
|
||||
import django.db.models.deletion
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
("app", "0006_remove_complaint_academic_year"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name="Notes",
|
||||
fields=[
|
||||
("id", models.AutoField(primary_key=True, serialize=False)),
|
||||
("notes", models.FileField(upload_to="media/notes")),
|
||||
(
|
||||
"course",
|
||||
models.ForeignKey(
|
||||
on_delete=django.db.models.deletion.CASCADE, to="app.course"
|
||||
),
|
||||
),
|
||||
(
|
||||
"subject",
|
||||
models.ForeignKey(
|
||||
on_delete=django.db.models.deletion.CASCADE, to="app.subject"
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
]
|
||||
+16
-2
@@ -1,4 +1,4 @@
|
||||
# Generated by Django 5.1.4 on 2025-01-16 06:52
|
||||
# Generated by Django 5.1.5 on 2025-01-16 17:46
|
||||
|
||||
import django.db.models.deletion
|
||||
from django.db import migrations, models
|
||||
@@ -7,16 +7,28 @@ from django.db import migrations, models
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
("app", "0010_staff_group_student_group_teacher_group"),
|
||||
("app", "0007_leavereportstudent_leavereportteacher"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name="leavereportstudent",
|
||||
name="leave_date",
|
||||
field=models.DateField(),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name="leavereportteacher",
|
||||
name="leave_date",
|
||||
field=models.DateField(),
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name="FeedBackStudent",
|
||||
fields=[
|
||||
("id", models.AutoField(primary_key=True, serialize=False)),
|
||||
("feedback", models.TextField()),
|
||||
("feedback_reply", models.TextField()),
|
||||
("created_at", models.DateTimeField(auto_now_add=True)),
|
||||
("updated_at", models.DateTimeField(auto_now=True)),
|
||||
(
|
||||
"student_id",
|
||||
models.ForeignKey(
|
||||
@@ -31,6 +43,8 @@ class Migration(migrations.Migration):
|
||||
("id", models.AutoField(primary_key=True, serialize=False)),
|
||||
("feedback", models.TextField()),
|
||||
("feedback_reply", models.TextField()),
|
||||
("created_at", models.DateTimeField(auto_now_add=True)),
|
||||
("updated_at", models.DateTimeField(auto_now=True)),
|
||||
(
|
||||
"staff_id",
|
||||
models.ForeignKey(
|
||||
@@ -1,28 +0,0 @@
|
||||
# Generated by Django 5.1.4 on 2025-01-16 02:10
|
||||
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
("app", "0007_notes"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RenameField(
|
||||
model_name="staff",
|
||||
old_name="active_status",
|
||||
new_name="is_active",
|
||||
),
|
||||
migrations.RenameField(
|
||||
model_name="student",
|
||||
old_name="active_status",
|
||||
new_name="is_active",
|
||||
),
|
||||
migrations.RenameField(
|
||||
model_name="teacher",
|
||||
old_name="active_status",
|
||||
new_name="is_active",
|
||||
),
|
||||
]
|
||||
@@ -1,76 +0,0 @@
|
||||
# Generated by Django 5.1.4 on 2025-01-16 05:47
|
||||
|
||||
import django.db.models.deletion
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
("app", "0008_rename_active_status_staff_is_active_and_more"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RemoveField(
|
||||
model_name="staff",
|
||||
name="group",
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name="student",
|
||||
name="group",
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name="teacher",
|
||||
name="group",
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name="StudentLeave",
|
||||
fields=[
|
||||
(
|
||||
"id",
|
||||
models.BigAutoField(
|
||||
auto_created=True,
|
||||
primary_key=True,
|
||||
serialize=False,
|
||||
verbose_name="ID",
|
||||
),
|
||||
),
|
||||
("date", models.DateField(max_length=100)),
|
||||
("message", models.TextField()),
|
||||
("status", models.IntegerField(default=0)),
|
||||
("created_at", models.DateTimeField(auto_now_add=True, null=True)),
|
||||
("updated_at", models.DateTimeField(auto_now=True)),
|
||||
(
|
||||
"student_id",
|
||||
models.ForeignKey(
|
||||
on_delete=django.db.models.deletion.CASCADE, to="app.student"
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name="TeacherLeave",
|
||||
fields=[
|
||||
(
|
||||
"id",
|
||||
models.BigAutoField(
|
||||
auto_created=True,
|
||||
primary_key=True,
|
||||
serialize=False,
|
||||
verbose_name="ID",
|
||||
),
|
||||
),
|
||||
("date", models.DateField(max_length=100)),
|
||||
("message", models.TextField()),
|
||||
("status", models.IntegerField(default=0)),
|
||||
("created_at", models.DateTimeField(auto_now_add=True, null=True)),
|
||||
("updated_at", models.DateTimeField(auto_now=True)),
|
||||
(
|
||||
"teacher_id",
|
||||
models.ForeignKey(
|
||||
on_delete=django.db.models.deletion.CASCADE, to="app.teacher"
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
]
|
||||
@@ -1,29 +0,0 @@
|
||||
# Generated by Django 5.1.4 on 2025-01-16 06:07
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
("app", "0009_remove_staff_group_remove_student_group_and_more"),
|
||||
("auth", "0012_alter_user_first_name_max_length"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name="staff",
|
||||
name="group",
|
||||
field=models.ManyToManyField(blank=True, to="auth.group"),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name="student",
|
||||
name="group",
|
||||
field=models.ManyToManyField(blank=True, to="auth.group"),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name="teacher",
|
||||
name="group",
|
||||
field=models.ManyToManyField(blank=True, to="auth.group"),
|
||||
),
|
||||
]
|
||||
Reference in new issue
Block a user