docs: def create_content_if_changed(self, page, language, ctype, body):
          """Create a :class:`Content <pages.models.Content>` for a particular
          page and language only if the content has changed from the last
          time.
  
          :param page: the concerned page object.
          :param language: the wanted language.
          :param ctype: the content type.
          :param body: the content of the Content object.
          """
          try:
              content = self.filter(
                  page=page, language=language,
                  type=ctype).latest('creation_date')
              if content.body == body:
                  return content
          except self.model.DoesNotExist:
              pass
          content = self.create(
              page=page, language=language, body=body,
              type=ctype)
  
          # Delete old revisions
          if settings.PAGE_CONTENT_REVISION_DEPTH:
              oldest_content = self.filter(
                  page=page, language=language,
                  type=ctype
              ).order_by('-creation_date')[settings.PAGE_CONTENT_REVISION_DEPTH:]
              for c in oldest_content:
                  c.delete()
  
          return content