Résolue

Utilisation de la fonction super() et de return super()

# Méthodes # Héritage

Gabriel Trouvé

Mentor

Re,


La différence entre super().methode et return super().méthode


Juste pour être sûr de bien comprendre.

Si je récupère ce qu'il y a dans une méthode d'une class mère, c'est avec la fonction super().


Mais quand on fait un return super().methode(param) :

en fait on retourne simplement notre méthode avec tout ce qu'il y a dans la class mère et tout ce qu'on a fait dedans ?


merci d'avance


def form_valid(self, form):
    if self.request.user.is_authenticated:
        # l'instance du BlogPost
        form.instance.author = self.request.user
    form.instance.published = True
    form.instance.date = datetime.today()
    # on a modifié notre formulaire puis on le retourne a form_valid avec super
return super().form_valid(form)

Oui, c'est exactement ce qui se passe. Lorsque vous appelez super().form_valid(form), vous retournez la méthode form_valid de la classe parente avec toutes les modifications que vous avez apportées.

Salut Gabriel , je confirme la réponse de l’IA 😅.

Gabriel Trouvé

Mentor

Lol merci 😅

Inscris-toi

(c'est gratuit !)

Inscris-toi

Tu dois créer un compte pour participer aux discussions.

Créer un compte

Rechercher sur le site

Formulaire de contact

Inscris-toi à Docstring

Pour commencer ton apprentissage.

Tu as déjà un compte ? Connecte-toi.