Associez l'ensemble de tables dans les modèles de python.py

Que veux-tu faire

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.

manière

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.

Je l'ai essayé

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).

Résumé

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

Associez l'ensemble de tables dans les modèles de python.py
[Automation] Extraire le tableau en PDF avec Python
Définir le test python dans jenkins
Manipulez le presse-papiers en Python et collez le tableau dans Excel
Obtenir l'API arXiv en Python
Python dans le navigateur: la recommandation de Brython
Enregistrez le fichier binaire en Python
Obtenez le chemin du bureau en Python
Obtenez le chemin du script en Python
Dans la commande python, python pointe vers python3.8
Implémenter le modèle Singleton en Python
Accédez à l'API Web en Python
J'ai écrit la file d'attente en Python
Calculer le mois précédent en Python
Examiner la classe d'un objet avec python
Obtenez le chemin du bureau en Python
Obtenez le nom d'hôte en Python
Accéder à l'API Twitter avec Python
La première étape de Python Matplotlib
J'ai écrit la pile en Python
Maîtriser le module lowref en Python
[Python] Réduisons le nombre d'éléments dans le résultat dans le fonctionnement de l'ensemble
Apprenez le modèle de conception "Prototype" avec Python
Apprenez le modèle de conception "Builder" avec Python
Charger le SDK Python distant avec IntelliJ
Essayez d'utiliser l'API Wunderlist en Python
[Python] Définissez la plage du graphique avec matplotlib
Vérifiez le comportement du destroyer en Python
Essayez d'utiliser l'API Kraken avec Python
Apprenez le modèle de conception "Observer" en Python
Apprenez le modèle de conception "Proxy" en Python
Ecrire le test dans la docstring python
Apprenez le modèle de conception "Commande" en Python
Prenez la somme logique de List en Python (fonction zip)
Afficher Python 3 dans le navigateur avec MAMP
Pour définir le codage par défaut sur utf-8 en python
Tweet à l'aide de l'API Twitter en Python
Apprenez le modèle de conception "Visiteur" avec Python
Apprenez le modèle de conception "Bridge" avec Python
Vérifiez si l'URL existe en Python
Apprenez le modèle de conception "Mediator" avec Python
Apprenez le modèle de conception "Décorateur" avec Python
Exécuter l'interpréteur Python dans le script
Le résultat de l'installation de python sur Anaconda
Comment afficher la table quatre-vingt-dix-neuf en python
Qu'est-ce que "mahjong" dans la bibliothèque Python? ??
Lisez le fichier ligne par ligne avec Python
Lisez le fichier ligne par ligne avec Python
MongoDB avec Python pour la première fois
Apprenez le modèle de conception "Iterator" avec Python
Principes de base pour exécuter NoxPlayer en Python
Apprenez le modèle de conception «Stratégie» avec Python
Apprenez le modèle de conception "Composite" avec Python
Résolvez le problème maximum de sous-tableau en Python
À la recherche du FizzBuzz le plus rapide en Python
Définissez le nom du processus du programme Python
Apprenez le modèle de conception "État" en Python
Obtenir la liste de codes EDINET en Python
Apprenez le modèle de conception "Adapter" avec Python