Comment ajouter un traitement de pré-sauvegarde lors de l'ajout d'un objet sur le site d'administration de Django

Environnement de développement

models.py

models.py


from django.db import models


class Word(models.Model):
    """Modèle Word"""

    word = models.CharField(max_length=15, unique=True)
    #Champ de caractères
    word_count = models.PositiveSmallIntegerField(blank=True, null=True)

    def __str__(self):
        return self.word

admin.py

admin.py


from django.contrib import admin

from .models import Word


class WordAdmin(admin.ModelAdmin):

    # save_Remplacer la fonction de modèle
    def save_model(self, request, obj, form, change):
        word = obj.word  #Valeur d'entrée du champ de mot

        # word_count
        word_count = len(word)

        obj.word_count = word_count
        obj.save()  #Enregistrer l'objet


#Modéliser et enregistrer_Spécifier la fonction du modèle
admin.site.register(Word, WordAdmin)

Achevée!

Désormais, lorsque vous ajoutez ou mettez à jour un objet sur le site de gestion, le prétraitement spécifié sera exécuté.

Recommended Posts

Comment ajouter un traitement de pré-sauvegarde lors de l'ajout d'un objet sur le site d'administration de Django
Comment enregistrer une seule donnée sur l'écran de gestion de Django
Comment filtrer les clés externes qui peuvent être sélectionnées sur l'écran d'administration de Django
Comment ajouter sudo lors de l'exécution du débogage
L'histoire de l'échec de la mise à jour de "calendar.day_abbr" sur l'écran d'administration de django
Comment réparer la merde lors de la lecture d'images Google Cloud Storage de Django déployées sur GAE
Ajouter dynamiquement des champs aux objets Form avec Django
[Django] Comment résoudre les erreurs lors de l'installation de mysqlclient
Comment imprimer des messages de débogage sur la console Django
Comment passer des arguments lors de l'appel d'un script python depuis Blender sur la ligne de commande
Réfléchissez à la programmation de Python sur votre iPad
[Python] [Django] Comment utiliser le champ de choix et comment ajouter des options
python débutant essaie d'ajouter une authentification de base à l'administrateur de Django
Comment obtenir plusieurs objets de modèle au hasard dans Django
Comment désactiver la fonction de référence lors de la sortie de PyYaml
Comment créer un environnement Django (python) sur Docker
Comment utiliser Django avec Google App Engine / Python
Comment profiter de Python sur Android !! Programmation en déplacement !!
Comment exécuter Django sur IIS sur un serveur Windows
[Django] Comment rediriger les utilisateurs non connectés vers la page de connexion
Comment enregistrer les mêmes données plusieurs fois avec une seule entrée sur l'écran de gestion de Django
Comment supprimer "(base)" qui apparaît dans le terminal lorsqu'Anaconda est installé sur Mac
Comment augmenter la vitesse de traitement de l'acquisition de la position des sommets
Comment écrire une validation personnalisée dans Django REST Framework
Gestion des fichiers statiques lors du déploiement en production avec Django
[Hyperledger Iroha] Remarques sur l'utilisation du SDK Python
Ne perdez pas contre Ruby! Comment exécuter Python (Django) sur Heroku
Comment déployer Pybot, le manuel Python le plus simple, sur Heroku
Comment résoudre la protection CSRF lors de l'utilisation d'AngularJS avec Django
Comment générer une requête à l'aide de l'opérateur IN dans Django
Je n'arrive pas à me connecter à la page d'administration avec Django 3
Dans Django, comment abréger la longue chaîne de caractères affichée au milieu ...
Remarques sur l'utilisation de la guimauve dans la bibliothèque de schémas
Comment imprimer des caractères sur la console avant de démarrer dans ARM
Comment retourner les données contenues dans le modèle django au format json et les mapper sur le dépliant