From 3c8e594eb4850b7a469a9379d49c8972bf039f46 Mon Sep 17 00:00:00 2001 From: Samuel Zielke Date: Mon, 8 Apr 2024 12:29:20 +0200 Subject: [PATCH] Add Models --- main/admin.py | 20 +++++++ main/migrations/0001_initial.py | 27 ++++++++++ ...0002_week_steward_service_meeting_regie.py | 52 ++++++++++++++++++ ...steward_person_steward_foyer_1_and_more.py | 38 +++++++++++++ main/models.py | 53 +++++++++++++++++++ 5 files changed, 190 insertions(+) create mode 100644 main/migrations/0001_initial.py create mode 100644 main/migrations/0002_week_steward_service_meeting_regie.py create mode 100644 main/migrations/0003_remove_steward_person_steward_foyer_1_and_more.py diff --git a/main/admin.py b/main/admin.py index 694323f..220ab4c 100644 --- a/main/admin.py +++ b/main/admin.py @@ -1 +1,21 @@ from django.contrib import admin +from . import models + +@admin.register(models.contributors) +class ContributorsAdmin(admin.ModelAdmin): + list_display = ["id", "first_name", "name", "ordner", "saalordner", "anlage", "zoom", "treffpunkt"] + list_filter = ["ordner", "saalordner", "anlage", "zoom", "treffpunkt"] + +admin.site.register(models.week) + +@admin.register(models.service_meeting) +class ServiceMeetingAdmin(admin.ModelAdmin): + list_display = ["id", "week", "date", "time", "type", "speaker"] + +@admin.register(models.steward) +class StewardAdmin(admin.ModelAdmin): + list_display = ["id", "week", "hall_1", "hall_2", "foyer_1", "foyer_2"] + +@admin.register(models.regie) +class RegieAdmin(admin.ModelAdmin): + list_display = ["id", "week", "regie_1", "regie_2", "zoom_1", "zoom_2", "stage"] diff --git a/main/migrations/0001_initial.py b/main/migrations/0001_initial.py new file mode 100644 index 0000000..aac2b68 --- /dev/null +++ b/main/migrations/0001_initial.py @@ -0,0 +1,27 @@ +# Generated by Django 5.0.4 on 2024-04-08 09:43 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ] + + operations = [ + migrations.CreateModel( + name='contributors', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('first_name', models.CharField(max_length=50)), + ('name', models.CharField(max_length=50)), + ('ordner', models.BooleanField(default=False)), + ('saalordner', models.BooleanField(default=False)), + ('anlage', models.BooleanField(default=False)), + ('zoom', models.BooleanField(default=False)), + ('treffpunkt', models.BooleanField(default=False)), + ], + ), + ] diff --git a/main/migrations/0002_week_steward_service_meeting_regie.py b/main/migrations/0002_week_steward_service_meeting_regie.py new file mode 100644 index 0000000..6ee0b67 --- /dev/null +++ b/main/migrations/0002_week_steward_service_meeting_regie.py @@ -0,0 +1,52 @@ +# Generated by Django 5.0.4 on 2024-04-08 10:19 + +import django.db.models.deletion +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('main', '0001_initial'), + ] + + operations = [ + migrations.CreateModel( + name='week', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('date_of_monday', models.CharField(max_length=50)), + ], + ), + migrations.CreateModel( + name='steward', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('person', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='main.contributors')), + ('week', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='main.week')), + ], + ), + migrations.CreateModel( + name='service_meeting', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('date', models.DateField()), + ('time', models.TimeField()), + ('type', models.IntegerField(choices=[(1, 'Saal'), (2, 'Zoom')])), + ('speaker', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='main.contributors')), + ('week', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='main.week')), + ], + ), + migrations.CreateModel( + name='regie', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('regie_1', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='regie1', to='main.contributors')), + ('regie_2', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='regie2', to='main.contributors')), + ('stage', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='stage', to='main.contributors')), + ('zoom_1', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='zoom1', to='main.contributors')), + ('zoom_2', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='zoom2', to='main.contributors')), + ('week', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='main.week')), + ], + ), + ] diff --git a/main/migrations/0003_remove_steward_person_steward_foyer_1_and_more.py b/main/migrations/0003_remove_steward_person_steward_foyer_1_and_more.py new file mode 100644 index 0000000..7890660 --- /dev/null +++ b/main/migrations/0003_remove_steward_person_steward_foyer_1_and_more.py @@ -0,0 +1,38 @@ +# Generated by Django 5.0.4 on 2024-04-08 10:26 + +import django.db.models.deletion +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('main', '0002_week_steward_service_meeting_regie'), + ] + + operations = [ + migrations.RemoveField( + model_name='steward', + name='person', + ), + migrations.AddField( + model_name='steward', + name='foyer_1', + field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, related_name='foyer1', to='main.contributors'), + ), + migrations.AddField( + model_name='steward', + name='foyer_2', + field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, related_name='foyer2', to='main.contributors'), + ), + migrations.AddField( + model_name='steward', + name='hall_1', + field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, related_name='hall1', to='main.contributors'), + ), + migrations.AddField( + model_name='steward', + name='hall_2', + field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, related_name='hall2', to='main.contributors'), + ), + ] diff --git a/main/models.py b/main/models.py index da34d0e..998f67f 100644 --- a/main/models.py +++ b/main/models.py @@ -2,3 +2,56 @@ from django.db import models from django.contrib.auth.models import User # Create your models here. +class contributors(models.Model): + first_name = models.CharField(max_length=50) + name = models.CharField(max_length=50) + ordner = models.BooleanField(default=False) + saalordner = models.BooleanField(default=False) + anlage = models.BooleanField(default=False) + zoom = models.BooleanField(default=False) + treffpunkt = models.BooleanField(default=False) + + def __str__(self): + return self.first_name + + +class week(models.Model): + date_of_monday = models.CharField(max_length=50) + + def __str__(self): + return self.date_of_monday + +class service_meeting(models.Model): + TYPES = ( + (1, 'Saal'), + (2, 'Zoom'), + ) + week = models.ForeignKey(week, on_delete=models.CASCADE) + date = models.DateField(auto_now_add=False) + time = models.TimeField(auto_now_add=False) + type = models.IntegerField(auto_created=False, choices=TYPES) + speaker = models.ForeignKey(contributors, on_delete=models.CASCADE) + + def __str__(self): + return str(self.date) + +class steward(models.Model): + week = models.ForeignKey(week, on_delete=models.CASCADE) + hall_1 = models.ForeignKey(contributors, on_delete=models.CASCADE, related_name="hall1", null=True) + hall_2 = models.ForeignKey(contributors, on_delete=models.CASCADE, related_name="hall2", null=True) + foyer_1 = models.ForeignKey(contributors, on_delete=models.CASCADE, related_name="foyer1", null=True) + foyer_2 = models.ForeignKey(contributors, on_delete=models.CASCADE, related_name="foyer2", null=True) + + def __str__(self): + return str(self.week) + +class regie(models.Model): + week = models.ForeignKey(week, on_delete=models.CASCADE) + regie_1 = models.ForeignKey(contributors, on_delete=models.CASCADE, related_name="regie1", null=True) + regie_2 = models.ForeignKey(contributors, on_delete=models.CASCADE, related_name="regie2", null=True) + zoom_1 = models.ForeignKey(contributors, on_delete=models.CASCADE, related_name="zoom1", null=True) + zoom_2 = models.ForeignKey(contributors, on_delete=models.CASCADE, related_name="zoom2", null=True) + stage = models.ForeignKey(contributors, on_delete=models.CASCADE, related_name="stage", null=True) + + def __str__(self): + return str(self.week) \ No newline at end of file