Dino Geek, versucht dir zu helfen

Wie erstelle ich Beziehungen zwischen Modellen in Django?


Beziehungen in Django können auf verschiedene Arten erstellt werden – mithilfe von ForeignKey, OneToOneField und ManyToManyField.

ForeignKey wird verwendet, um eine einseitige viele-zu-eins-Beziehung zu erstellen. Das bedeutet, wenn Sie ein Modell haben, sagen wir “ModellA”, und Sie möchten, dass es eine Beziehung zu einem anderen Modell hat, “ModellB”, können Sie eine ForeignKey-Beziehung erstellen. Zum Beispiel:

```python
class ModellA(models.Model): name = models.CharField(max_length=100)

class ModellB(models.Model): modell_a = models.ForeignKey(ModellA, on_delete=models.CASCADE)
```

In diesem Szenario hat jedes ModellA viele ModelleB, aber jedes ModellB gehört nur zu einem ModellA (Django Dokumentation).

Die OneToOneField-Beziehung wird verwendet, um eine einseitige Ein-zu-Eins-Beziehung zu erstellen. Dies bedeutet, dass wenn ein Modell “ModellA” nur eine Instanz von “ModellB” haben kann und umgekehrt, wir diese Beziehung verwenden. Zum Beispiel:

```python
class ModellA(models.Model): name = models.CharField(max_length=100)

class ModellB(models.Model): modell_a = models.OneToOneField(ModellA, on_delete=models.CASCADE)
```

In diesem Szenario kann jedes ModellA nur ein ModellB haben und jedes ModellB gehört nur zu einem ModellA (Django Dokumentation).

Die ManyToManyField-Beziehung wird verwendet, um eine viele-zu-viele-Beziehung zu erstellen. Das bedeutet, dass wenn ein Modell “ModellA” viele ModelleB haben kann und umgekehrt, wir diese Beziehung verwenden. Django erstellt im Hintergrund eine Tabelle zur Verwaltung dieser Beziehung. Zum Beispiel:

```python
class ModellA(models.Model): name = models.CharField(max_length=100)

class ModellB(models.Model): modell_a = models.ManyToManyField(ModellA)
```

In diesem Szenario kann jedes ModellA viele ModelleB haben und jedes ModellB kann viele ModelleA haben (Django Dokumentation).

Es ist wichtig zu betonen, dass das Argument on_delete=models.CASCADE bedeutet, dass wenn das zugehörige Objekt gelöscht wird, auch diese Instanz gelöscht wird.

Die offizielle Django-Dokumentation ist eine hervorragende Quelle, wenn es darum geht, Informationen darüber zu erhalten, wie man Beziehungen zwischen Modellen erstellt und was die verschiedenen Arten von Beziehungen sind (Quelle: Django Dokumentation).

Quelle:
Django Documentation. (2021). Database-abstractions. https://docs.djangoproject.com/en/3.2/topics/db/models/


Erstellen Sie einfach Artikel, um Ihr SEO zu optimieren
Erstellen Sie einfach Artikel, um Ihr SEO zu optimieren





DinoGeek bietet einfache Artikel über komplexe Technologien

Möchten Sie in diesem Artikel zitiert werden? Es ist ganz einfach, kontaktieren Sie uns unter dino@eiki.fr

CSS | NodeJS | DNS | DMARC | MAPI | NNTP | htaccess | PHP | HTTPS | Drupal | WEB3 | LLM | Wordpress | TLD | Domain | IMAP | TCP | NFT | MariaDB | FTP | Zigbee | NMAP | SNMP | SEO | E-Mail | LXC | HTTP | MangoDB | SFTP | RAG | SSH | HTML | ChatGPT API | OSPF | JavaScript | Docker | OpenVZ | ChatGPT | VPS | ZIMBRA | SPF | UDP | Joomla | IPV6 | BGP | Django | Reactjs | DKIM | VMWare | RSYNC | Python | TFTP | Webdav | FAAS | Apache | IPV4 | LDAP | POP3 | SMTP

| Whispers of love (API) | Déclaration d'Amour |






Rechtliche Hinweise / Allgemeine Nutzungsbedingungen