использование Суперфункция python в модели django

Вот код из учебника по django, который я просматриваю. Я никогда раньше не сталкивался с суперфункцией в python, и способ ее использования здесь отличается от примеров, которые я видел в Интернете. То есть, обычно, когда вы используете super, у вас нет нескольких классов? Это последняя строка: super (Snippet, self) .save (force_insert, force_update) Не могли бы вы объяснить, что именно там происходит, и как бы это написать? Кажется, что здесь вызывает себя метод сохранения?

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)
12
задан 21 August 2011 в 23:21
поделиться