utilisation de super fonction python dans le modèle django

Voici un peu de code dans un django tutoriel que je vais à travers. Je n'ai jamais rencontré la super fonction en python avant et la façon dont il est utilisé ici est différent de celui des exemples que j'ai vu en ligne. I. e., habituellement, lorsque vous utilisez super, vous n'avez pas plusieurs classes? C'est dans la dernière ligne: super(Snippet, self).save(force_insert, force_update)
Pourriez-vous expliquer exactement ce qui se passe là-bas et ce serait une autre façon d'écrire. Il semble juste comme la méthode save est d'appeler lui-même ici?

class Snippet(models.Model):
    title = models.CharField(max_length=255)
    language = models.ForeignKey(Language)
    author = models.ForeignKey(User)
    description = models.TextField()
    description_html = models.TextField(editable=False)
    code = models.TextField()
    highlighted_code = models.TextField(editable=False)
    tags = TagField()
    pub_date = models.DateTimeField(editable=False)
    updated_date = models.DateTimeField(editable=False)

    class Meta:
        ordering = ['-pub_date']

    def __unicode__(self):
        return self.title

    def save(self, force_insert=False, force_update=False):
        if not self.id:
            self.pub_date = datetime.datetime.now()
        self.updated_date = datetime.datetime.now()
        self.description_html = markdown(self.description)
        self.highlighted_code = self.highlight()
        super(Snippet, self).save(force_insert, force_update)

source d'informationauteur