Challenge 1: Lege ein Projekt an
Das waren jetzt einige Dinge, die wir besprochen haben. Um das Erlernte auch gleich anzuwenden, wartet jetzt eine Challenge auf dich!
Neues Projekt Company
Dein Kunde benötigt eine kleine Firmenverwaltung, die du natürlich mit Django umsetzen wirst. Es sollen Firmen und deren Angestellte in einer Django-App verwaltet werden können.
Dazu muss erstmal ein neues Projekt (company_project
) angelegt werden.
Später müssen die Models erstellt und die Migrationen durchgeführt werden. Das User-Model wollen wir ebenfalls nicht vergessen.
Auf Views und URLs verzichten wir im Moment. Das User-Model werden wir auch nicht weiter nutzen.
Projekt erstellen
Lege ein neues Django-Projekt namens company_manager
an, wie wir das im
ersten Kapitel gesehen haben. Nutze das Programm django-admin
und das
Subkommando startproject
.
Lege dazu auch ein neues virtuelles Environment an und installiere die nötigen Pakete. Die Settings müssen auch angepasst werden.
Prüfe, ob der Runserver startet und die Django-Rakete im Browser angezeigt wird.
Die App anlegen
Wenn das Django-Projekt erfolgreich angelegt wurde, lege jetzt eine neue App
names company
an. Nutze das das Subkommando startapp
.
Die Models anlegen
Wir benötigen in der App zwei Modelle: Das Model Company
sowie das Model Employee
.
Der Employee ist mit der Company über eine ForeignKey-Beziehung verknüpft, es
handelt sich also um eine 1:N Beziehung. Jede Firma hat N Angestellte, und
jeder Angestellte ist genau einer Firma zugeordnet.
Die Company besitzt die Felder:
name
description
company_type
Der Employee besitzt folgende Felder:
firstname
lastname
age
company (ForeignKey)
Erstelle die beiden Models und wähle dazu die passenden Feldtypen aus. Das
Alter zum Beispiel sollte kein CharField
sein. Verhindere, das die
Employees gelöscht werden, wenn die Firma gelöscht wird, der sie zugeteilt sind
(on_delete).
Migrationen durchführen
Wenn die Models erstellt wurden, führe die Migrationen aus. Nutze dazu die
Subkommandos makemigrations
und migrate
.
Und jetzt: Viel Erfolg! Wie das Ergebnis aussehen könnte, findest du unter diesem Link: https://realdcaptaiadj.aaadfa.ge