# Übungsaufgabe: Modellierung eines Universitätssystems mit Django ## Aufgabenstellung Du bist Teil eines Teams, das ein Universitätssystem entwickelt. Deine Aufgabe ist es, die grundlegenden Datenbankmodelle mit Django zu erstellen, die die folgenden Anforderungen abbilden: ### Szenario - Jeder Student hat **genau ein Studentenausweis**. - Ein Professor kann mehrere **Kurse** unterrichten, aber jeder Kurs hat **nur einen Professor**. - Ein Kurs kann von mehreren **Studenten** besucht werden und ein Student kann **mehrere Kurse** besuchen. - Jeder Kurs hat eine **Kursbeschreibung**, aber diese Beschreibung wird nur mit **genau einem Kurs** verbunden. - Zusätzlich soll jeder Kurs wissen, in welchem **Semester** er stattfindet (z.B. "Sommersemester 2025"). Ein Semester kann mehrere Kurse enthalten. ### Anforderungen 1. Erstelle alle Django-Modelle entsprechend der oben beschriebenen Beziehungen. 2. Nutze geeignete Feldtypen, um die Beziehungen darzustellen (**OneToOneField (1:1)**, **ForeignKey (1:N)**, **ManyToManyField (M:N)**). 3. Achte auf sinnvolle Klassennamen und Feldbezeichnungen. 4. Implementiere das Ganze in einer Datei `models.py`. ### Hilfreiche Links - [Django Many-to-Many Beziehungen](https://docs.djangoproject.com/en/5.1/topics/db/examples/many_to_many/) - [Django Many-to-One Beziehungen](https://docs.djangoproject.com/en/5.2/topics/db/examples/many_to_one/) - [Django One-to-One Beziehungen](https://docs.djangoproject.com/en/5.1/topics/db/examples/one_to_one/)