Initializing Database
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,5 +1,6 @@
|
||||
# Generated by Django 5.0.1 on 2024-06-10 02:49
|
||||
# Generated by Django 5.0.6 on 2024-06-23 06:06
|
||||
|
||||
import django.db.models.deletion
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
@@ -13,19 +14,10 @@ class Migration(migrations.Migration):
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='Sections',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('area_name', models.CharField(max_length=200)),
|
||||
('classes', models.ManyToManyField(to='classes.classes')),
|
||||
],
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Agreements',
|
||||
name='Agreement',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('major', models.CharField(max_length=200)),
|
||||
('sections', models.ManyToManyField(to='university.sections')),
|
||||
],
|
||||
),
|
||||
migrations.CreateModel(
|
||||
@@ -33,7 +25,21 @@ class Migration(migrations.Migration):
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('name', models.CharField(max_length=200)),
|
||||
('agreements', models.ManyToManyField(to='university.agreements')),
|
||||
],
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Section',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('area_name', models.CharField(max_length=200)),
|
||||
('number_of_required_courses', models.IntegerField()),
|
||||
('agreement', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='sections', to='university.agreement')),
|
||||
('classes', models.ManyToManyField(related_name='classes', to='classes.classes')),
|
||||
],
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='agreement',
|
||||
name='university',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='agreements', to='university.university'),
|
||||
),
|
||||
]
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
# Generated by Django 5.0.1 on 2024-06-10 02:52
|
||||
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('classes', '0001_initial'),
|
||||
('university', '0001_initial'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RenameModel(
|
||||
old_name='Agreements',
|
||||
new_name='Agreement',
|
||||
),
|
||||
migrations.RenameModel(
|
||||
old_name='Sections',
|
||||
new_name='Section',
|
||||
),
|
||||
]
|
||||
@@ -1,19 +0,0 @@
|
||||
# Generated by Django 5.0.1 on 2024-06-10 03:42
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('university', '0002_rename_agreements_agreement_rename_sections_section'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='section',
|
||||
name='number_of_required_courses',
|
||||
field=models.IntegerField(default=1),
|
||||
preserve_default=False,
|
||||
),
|
||||
]
|
||||
@@ -1,34 +0,0 @@
|
||||
# Generated by Django 5.0.6 on 2024-06-18 21:20
|
||||
|
||||
import django.db.models.deletion
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('university', '0003_section_number_of_required_courses'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RemoveField(
|
||||
model_name='agreement',
|
||||
name='sections',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='university',
|
||||
name='agreements',
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='agreement',
|
||||
name='university',
|
||||
field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='university.university'),
|
||||
preserve_default=False,
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='section',
|
||||
name='agreement',
|
||||
field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='university.agreement'),
|
||||
preserve_default=False,
|
||||
),
|
||||
]
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -12,16 +12,16 @@ class University(models.Model):
|
||||
|
||||
class Agreement(models.Model):
|
||||
major = models.CharField(max_length=200)
|
||||
university = models.ForeignKey(University, on_delete=models.CASCADE)
|
||||
university = models.ForeignKey(University, related_name="agreements", on_delete=models.CASCADE)
|
||||
|
||||
def __str__(self) -> str:
|
||||
return self.major
|
||||
return f"{self.major} {self.university.name}"
|
||||
|
||||
class Section(models.Model):
|
||||
area_name = models.CharField(max_length=200)
|
||||
number_of_required_courses = models.IntegerField()
|
||||
classes = models.ManyToManyField(Classes)
|
||||
agreement = models.ForeignKey(Agreement, on_delete=models.CASCADE)
|
||||
classes = models.ManyToManyField(Classes, related_name="classes")
|
||||
agreement = models.ForeignKey(Agreement, related_name="sections", on_delete=models.CASCADE)
|
||||
|
||||
def __str__(self) -> str:
|
||||
return self.area_name
|
||||
return f"{self.area_name} {self.agreement.major} {self.agreement.university}"
|
||||
@@ -1,24 +1,6 @@
|
||||
from rest_framework import serializers
|
||||
from .models import University, Agreement, Section
|
||||
|
||||
class UniversitySerializer(serializers.ModelSerializer):
|
||||
|
||||
class Meta:
|
||||
model = University
|
||||
fields = ["name"]
|
||||
|
||||
class AgreementsSerializer(serializers.ModelSerializer):
|
||||
|
||||
# sections = serializers.SlugRelatedField(
|
||||
# many = True,
|
||||
# read_only = True,
|
||||
# slug_field = "area_name"
|
||||
# )
|
||||
|
||||
class Meta:
|
||||
model = Agreement
|
||||
fields = ["major", "university"]
|
||||
|
||||
class SectionsSerializer(serializers.ModelSerializer):
|
||||
|
||||
classes = serializers.SlugRelatedField(
|
||||
@@ -29,4 +11,19 @@ class SectionsSerializer(serializers.ModelSerializer):
|
||||
|
||||
class Meta:
|
||||
model = Section
|
||||
fields = ["area_name", "number_of_required_courses", "classes", "agreement"]
|
||||
fields = ["area_name", "number_of_required_courses", "classes", "agreement"]
|
||||
|
||||
|
||||
class AgreementsSerializer(serializers.ModelSerializer):
|
||||
sections = SectionsSerializer(many=True)
|
||||
|
||||
class Meta:
|
||||
model = Agreement
|
||||
fields = ["major", "university", "sections"]
|
||||
|
||||
class UniversitySerializer(serializers.ModelSerializer):
|
||||
agreements = AgreementsSerializer(many=True)
|
||||
|
||||
class Meta:
|
||||
model = University
|
||||
fields = ["id", "name", "agreements"]
|
||||
Reference in New Issue
Block a user