code: def save(self, *args, **kwargs):
          
          if not self.status:
              self.status = self.DRAFT
          # Published pages should always have a publication date
          if self.publication_date is None and self.status == self.PUBLISHED:
              self.publication_date = now_utc()
          # Drafts should not, unless they have been set to the future
          if self.status == self.DRAFT:
              if settings.PAGE_SHOW_START_DATE:
                  if (self.publication_date and
                          self.publication_date <= now_utc()):
                      self.publication_date = None
              else:
                  self.publication_date = None
          self.last_modification_date = now_utc()
          # let's assume there is no more broken links after a save
          cache.delete(self.PAGE_BROKEN_LINK_KEY % self.id)
          super(Page, self).save(*args, **kwargs)
          # fix sites many-to-many link when the're hidden from the form
          if settings.PAGE_HIDE_SITES and self.sites.count() == 0:
              self.sites.add(Site.objects.get(pk=settings.SITE_ID))
docs: Override the default ``save`` method.