From 54e5bc276ec837c4c89d58685f73ead2c37f039f Mon Sep 17 00:00:00 2001 From: Martin Putzlocher Date: Mon, 11 May 2026 22:42:17 +0200 Subject: [PATCH] =?UTF-8?q?ER-Diagramm=20hinzugef=C3=BCgt=20und=20Datenmod?= =?UTF-8?q?ell=20um=20Schulwochen=20erweitert.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db.sqlite3 | Bin 196608 -> 212992 bytes .../__pycache__/__init__.cpython-314.pyc | Bin 155 -> 156 bytes mensa_app/__pycache__/admin.cpython-314.pyc | Bin 851 -> 958 bytes mensa_app/__pycache__/apps.cpython-314.pyc | Bin 460 -> 461 bytes mensa_app/__pycache__/models.cpython-314.pyc | Bin 7653 -> 8602 bytes mensa_app/admin.py | 4 ++ mensa_app/data_diagram_v1.puml | 54 ++++++++++++++++++ mensa_app/data_diragram_v1.pdf | Bin 0 -> 8805 bytes ...he_alter_gericht_time_creation_and_more.py | 43 ++++++++++++++ ...04_alter_gericht_time_creation_and_more.py | 24 ++++++++ .../__pycache__/0001_initial.cpython-314.pyc | Bin 4938 -> 4939 bytes ...r_gericht_options_and_more.cpython-314.pyc | Bin 2025 -> 2026 bytes ...cht_time_creation_and_more.cpython-314.pyc | Bin 0 -> 2143 bytes ...cht_time_creation_and_more.cpython-314.pyc | Bin 0 -> 1152 bytes .../__pycache__/__init__.cpython-314.pyc | Bin 166 -> 167 bytes mensa_app/models.py | 22 +++++++ .../__pycache__/__init__.cpython-314.pyc | Bin 156 -> 157 bytes .../__pycache__/settings.cpython-314.pyc | Bin 2464 -> 2465 bytes mensa_core/__pycache__/urls.cpython-314.pyc | Bin 1021 -> 1022 bytes mensa_core/__pycache__/wsgi.cpython-314.pyc | Bin 645 -> 646 bytes 20 files changed, 147 insertions(+) create mode 100644 mensa_app/data_diagram_v1.puml create mode 100644 mensa_app/data_diragram_v1.pdf create mode 100644 mensa_app/migrations/0003_schulwoche_alter_gericht_time_creation_and_more.py create mode 100644 mensa_app/migrations/0004_alter_gericht_time_creation_and_more.py create mode 100644 mensa_app/migrations/__pycache__/0003_schulwoche_alter_gericht_time_creation_and_more.cpython-314.pyc create mode 100644 mensa_app/migrations/__pycache__/0004_alter_gericht_time_creation_and_more.cpython-314.pyc diff --git a/db.sqlite3 b/db.sqlite3 index be7c2eee0b2f4d4d840fb277cde1fdae94888fa4..f2574ceecfb016836d55f9e9d2167ba6c454b560 100644 GIT binary patch delta 4184 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 diff --git a/mensa_app/__pycache__/__init__.cpython-314.pyc b/mensa_app/__pycache__/__init__.cpython-314.pyc index 955e89bc5bd6e99a24abead217bcf67f749cf6cd..ac18d10e332ad1030a8ddbef9c79511f5324d5b5 100644 GIT binary patch delta 51 zcmbQuIERr(n~#@^0SJC;Fl9~TF_E^^&&bbB)z2*`Evd@MPtHg!(hn%g&q~cMNu3zw F2mn~vm6}{qJTcl4 E0A=zJPyhe` diff --git a/mensa_app/__pycache__/admin.cpython-314.pyc b/mensa_app/__pycache__/admin.cpython-314.pyc index 3a6cb6d79cab087aede1b89bca215d4e03158691..de805680f9019ad27bae5961490673626dcd533c 100644 GIT binary patch delta 176 zcmcc2wvU}pn~#@^0SNZnF=bgZPvnzee6Ue{E+bbQV-SZYlLvPR_v9W%T|sUWMvy87 z26=`cPGts7uF0nurMbC+lQT+l%JY*mQYSxRbYkS0tjgrAQ3Nt@CBtWs@>^#58Tq-X z`nd(AB~>{fg+=-SMfq8&*(IryCo!pW2>}&>j4qx#`7o1;u-pR%)^@H&uImiK7a4>n RcwJ$TpZt_5i$wsa1OR%Rf_AHH<)9+%Z{_S!Hq% Ka|R1PkP85^{~ehC diff --git a/mensa_app/__pycache__/apps.cpython-314.pyc b/mensa_app/__pycache__/apps.cpython-314.pyc index 510fac307cd8b13030c0188e5ca95e7494f21a7e..7d5b56e4103851dba5db13ae3ae724b25b72110b 100644 GIT binary patch delta 53 zcmX@Ze3qFT2hshpPZ3eq+d{!pOuAIIFLkID(1ons+wRi+Y46So zsG$osU`zxyhd|`Pfbl^iQAp#P4@O?akfuq?7?URG6Ay}(;FIy(*#=N&bH6=v?z#7z z``vHOuRYhcyINe;vVhO&mo3N3zOt*99J;+~Es+C4qo8?%g61nPEVsKfYm*T5Pah%O zmin%?R6a}Fvg1YlolJf>MOoVb%O9s>I-R~*^{u7e&Nsy8&mRy^Cg_%&56Y-hJ0{1Rm_~=6&8DNUZdme&SwRh)60;qo)jel8z*b8T|{w zUc#V${O<;@x|)RHLY?|tvUU5Zo?sn(Bj>Xc;DUWmYcD#(I11GW=Y;uS(+A4@vX)s# zJ*!0ztK;BBcqQtFQhf+6I^~#QNhb{nYo+~Znn@aBl9z2LeffNbCUO<0lrHGU5@UM$ zZNtsY5z5juXYyn23K4H$lGkJw=0~G2gm6x{Z;dTT?l~zmBZaPOx2)f-yf<)YRythj zn^$~uN_a*IU*9pSL`$&+k2>dRn(;J!9-H;NSlT_WhUe7ij2gYwJgat>4m`11#MZ|G zLgg?#+c1u&4@4Bn_bI+6o)=Cd-0-ika?LFKm;VpmmViS9H-U_%kupNc@yP!xK# zCh4vrL3e91%E1Xg+1mYVBQ9f|2vG}@xLvuQR@iKR-NH7*ZMjz5js8~n**@uJeP|kv zg3di868*N8ZG0y)R_@O;njX#VrKe05*;>AXTzINP_{7=# z)=nPJp%F)c=lknCp7*}B<$r{FgLB>$Gu{>Rii%`j&6RTt>as;i^vR_?Ph1wU;}Npi z@x(#Iw%-MW3a>lCqlDmuuM}bQtnp6wPR!E1{yQB@zze zfBMpd<^M)Lv4N$t14I z!ezC8rCFGHr~J0ryBy5??{RB_Lkj*@SIZ~4$sq~rgQMgmFUq%z{73B*(|3YXMCDXQ ztITf0oP1$7LO=Xgr9vTeT4Y=C6&{Cr$QjsB_a>Rb7V|>g8Fb=jkG+a!GQ}Kruz%g^ zd7PethjnYnSy1ag?ldd6qtnzWo8lI)&k(aThuy83x0FGYzS%*T$ma|2OMR1#lg>Ue zPsMXG4im5?eA&h=Y)$vWF~VSZL!j4W##D|;ib;aGhIg@wUPEXZj^1oOS>9oj s9EGzm*3jHo=OnF{)T`lgcu_!eG3+62m-?^nEALwr&|F*zHyU>Q1OKVH{Qv*} delta 984 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 E0Bdp(d;kCd diff --git a/mensa_app/models.py b/mensa_app/models.py index ed1b428..605e782 100644 --- a/mensa_app/models.py +++ b/mensa_app/models.py @@ -15,10 +15,32 @@ class Person(models.Model): def __str__(self): return f"{self.user.username} ({self.rolle})" + +class Schulwoche(models.Model): + """Repräsentiert eine Schulwoche mit einem eindeutigen Datum.""" + + id = models.CharField(max_length=20, unique=True, primary_key=True, default="test_1") # eine eindeutige ID wie "Woche_2024_10" + datum = models.DateField(unique=True) # Datum der Schulwoche (z. B. Montag der ersten Woche) + + ist_aktiv = models.BooleanField(default=False) + ist_ferienwoche = models.BooleanField(default=False) + + class Meta: + verbose_name = "Schulwoche" + verbose_name_plural = "Schulwochen" + + class SpeiseplanTag(models.Model): """Ein bestimmter Tag im Speiseplan.""" datum = models.DateField(unique=True) + schulwoche = models.ForeignKey( + Schulwoche, + on_delete=models.CASCADE, + #related_name='tag_get_schulwoche' # Für Abfragen wie: Schulwoche.tag_get_schulwoche.all() + default = "test_1" + ) + class Meta: verbose_name = "Tag mit Speiseplan" verbose_name_plural = "Tage mit Speiseplan" diff --git a/mensa_core/__pycache__/__init__.cpython-314.pyc b/mensa_core/__pycache__/__init__.cpython-314.pyc index e4e1494d1f453aa0766fde1bd864059490494d3f..c6998ecd32fa2a0f71238a59baa963077a7a4f9e 100644 GIT binary patch delta 51 zcmbQkIG2$}n~#@^0SJC;Fl9~TF_E^?&&bbB)z2*`Evd@MPtHg!(hn%g&q~cMNu3zw F1OQdX53v9M delta 50 zcmbQsIERr(n~#@^0SFo=|IM7pV~vm6}{qJTck{ E0A_L!Q~&?~ diff --git a/mensa_core/__pycache__/settings.cpython-314.pyc b/mensa_core/__pycache__/settings.cpython-314.pyc index 9d6e5c085a69f4d614dd53cd79328d1fb817cc4e..ddbc6402d2cf83f461ca64755d1269d00834eb0b 100644 GIT binary patch delta 54 zcmZ1=yik}&n~#@^0SJC;FlBAzG3Ai9($C1xP1VmWC@rbV$xqHmEz%Dt%Fjy8E=k=S I&Ed)j0El-GH2?qr delta 53 zcmZ1|yg-;on~#@^0SFo=|IOUUW6B|Ash^Rbo2p+>T2hshpPZ3eq+d{!pOuj diff --git a/mensa_core/__pycache__/urls.cpython-314.pyc b/mensa_core/__pycache__/urls.cpython-314.pyc index 5cf6834eea64f95a635dca25d2e205e84fff823d..262e0fa27a4c921217a32395638215c28e954503 100644 GIT binary patch delta 53 zcmey%{*RqUn~#@^0SJC;FlBAzDP)#5)6dAyP1VmWC@rbV$xqHmEz%Dt%Fjy8E=ip{ HojDBvpkxt2 delta 52 zcmeyz{+FFcn~#@^0SFo=|IOUUQ^+i3s-Kaco2p+>T2hshpPZ3eq+d{!pOu1X8Urt0Swl$KQG5R