Ich mache ein Blog mit Django mit Python. Beim Einstellen der Tabelle in models.py Ich möchte eine Tabelle mit einer Eltern-Kind-Beziehung wie Kategorie> Artikel erstellen.
Jede Tabelle verknüpfen Verwenden Sie die in jeder Tabelle vorhandenen Variablen. Die zu diesem Zeitpunkt angegebene Variable wird als Foreign_key festgelegt.
Die im Blog veröffentlichten Artikel enthalten die folgenden Klassen und Daten. In der Postklasse id,title,cantent,created_at,category Erstellen Sie zu diesem Zeitpunkt eine separate Kategorieklasse und id,name,created_at Es besteht aus.
Wenn Sie den Datentyp festlegen und im Code ablegen,
class Category(models.Model):
name = models.CharField('Kategoriename',max_length=255)
created_at = models.DateTimeField('Datum',default=timezone.now)
class Day(models.Model):
title = models.CharField('Titel',max_length=200)
text = models.TextField('Text')
date = models.DateTimeField('Datum',default=timezone.now)
category = models.ForeignKey(Category,verbose_name='Kategorie',on_delete=models.PROTECT)
Der Kategorieinstanz der Day-Klasse sind Modelle zugeordnet, die mit der ForeignKey-Funktion multipliziert werden. Zu diesem Zeitpunkt können Sie die Kategorie als erstes Argument verwenden und den Namen des Modells in einen beliebigen mit verbose_name ändern. Durch Zuweisen der PROTECT-Funktion zu on_delete wird das Löschen auch dann nicht ausgeführt, wenn der Löschvorgang von der Kategorieklasse ausgeführt wird, solange die Postklasse vorhanden ist (der veröffentlichte Artikel wird auch dann nicht gelöscht, wenn die Kategorie gelöscht wird).
Mit der ForeignKey-Funktion Die Einstellungsquelle ist die übergeordnete Tabelle, und die referenzierte Seite ist die kleine Tabelle.
Referenzartikel ForeignKey:https://www.sejuku.net/blog/54072 verbose_name:https://codor.co.jp/django/how-to-use-verbose-name
Recommended Posts