Je crée un blog en utilisant django avec python. Lors de la définition de la table dans models.py Je souhaite créer une table qui a une relation parent-enfant telle que Catégorie> Article.
Pour lier chaque table Utilisez les variables qui existent dans chaque table. La variable spécifiée à ce moment-là est définie comme clé étrangère.
Les articles publiés sur le blog contiennent les classes et données suivantes. Dans la classe post id,title,cantent,created_at,category À ce moment-là, créez une classe de catégorie distincte et id,name,created_at Cela est composé de.
Si vous décidez du type de données et les déposez dans le code,
class Category(models.Model):
name = models.CharField('Nom de catégorie',max_length=255)
created_at = models.DateTimeField('Date',default=timezone.now)
class Day(models.Model):
title = models.CharField('Titre',max_length=200)
text = models.TextField('Texte')
date = models.DateTimeField('Date',default=timezone.now)
category = models.ForeignKey(Category,verbose_name='Catégorie',on_delete=models.PROTECT)
Les modèles sont attribués à l'instance de catégorie de la classe Day par la fonction ForeignKey. À ce moment-là, vous pouvez prendre la catégorie comme premier argument et changer le nom du modèle en n'importe lequel avec verbose_name. Et en attribuant la fonction PROTECT à on_delete, même lorsque le processus de suppression est effectué par la classe de catégorie, la suppression ne sera pas effectuée tant que la classe de publication existe (l'article publié ne sera pas supprimé même si la catégorie est supprimée).
En utilisant la fonction ForeignKey La source des paramètres est la table parent et le côté référencé est la petite table.
Article de référence ForeignKey:https://www.sejuku.net/blog/54072 verbose_name:https://codor.co.jp/django/how-to-use-verbose-name
Recommended Posts