Remplacer la méthode save de django-models

Remplacez la méthode de sauvegarde du modèle si vous voulez que quelque chose soit fait juste avant de l'insérer dans la base de données

class Event(models.Model):

    class Meta:
        unique_together = ('name', 'held_date')

    id = models.CharField(primary_key=True, max_length=20)
    name = models.CharField(max_length=8)
    held_date = models.DateField()

    def save(self, **kwargs):
        u"""Créez la valeur de la clé primaire juste avant l'insertion"""
        self.id = "%s@%s" % (str(self.held_date), self.name)
        super(Event, self).save(**kwargs)

Lors de l'écrasement de save () de django, certaines méthodes de gestion peuvent l'appeler ou non.

Appelle-moi

Ne m'appelle pas

C'est étonnamment appelé. Il y a aussi signaux.pre_save, mais c'est la même chose que de le faire, et l'écrasement de save est plus explicite.

Recommended Posts

Remplacer la méthode save de django-models
Méthode Simplex (méthode unique) en Python
Méthode privée en python
J'ai touché Wagtail (1) et remplaçons la méthode de sauvegarde.
Modèle de méthode de modèle en Java
Suppression des substitutions de méthode en Python
Type de gain de temps avec SQLAlchemy
Enregistrez le fichier binaire en Python
Enregistrer une variable spécifique dans tensorflow.session
Implémentation de la méthode de propagation d'étiquettes en Python
Simuler la méthode Monte Carlo en Python
Méthode Hash (méthode d'adresse ouverte) en Python
Enregistrer les fichiers au format YAML avec PyYAML