code: def slugify(field_name, slug_field_name=None, mutable=False):
      
      slug_field_name = slug_field_name or 'slug'
  
      def _set_slug(target, value, old_value, _, mutable=False):
          existing_slug = getattr(target, slug_field_name)
          if existing_slug and not mutable:
              return
          if value and (not existing_slug or value != old_value):
              setattr(target, slug_field_name, _slugify(value))
  
      def wrapper(cls):
          event.listen(getattr(cls, field_name), 'set',
                       partial(_set_slug, mutable=mutable))
          return cls
      return wrapper
docs: Class decorator to specify a field to slugify. Slugs are immutable by
      default unless mutable=True is passed.
  
      Usage::
  
          @slugify('title')
          def Post(Model):
              title = Column(String(100))
              slug = Column(String(100))
  
          # pass a second argument to specify the slug attribute field:
          @slugify('title', 'title_slug')
          def Post(Model)
              title = Column(String(100))
              title_slug = Column(String(100))
  
          # optionally set mutable to True for a slug that changes every time
          # the slugified field changes:
          @slugify('title', mutable=True)
          def Post(Model):
              title = Column(String(100))
              slug = Column(String(100))