---
# System prepended metadata

title: 'Übungsaufgabe: Modellierung eines Universitätssystems mit Django'

---

# Ü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/)