docs: def save_prep(cls, instance_or_instances):
          """Preprocess the object before the object is saved.  This
          automatically gets called when the save method gets called.
          """
          instances = make_obj_list(instance_or_instances)
  
          tokens = set(cls.objects.get_available_tokens(
              count=len(instances),
              token_length=cls.token_length
          ))
  
          for instance in instances:
              if not instance.token:
                  instance.token = tokens.pop()
  
          super(AbstractTokenModel, cls).save_prep(
              instance_or_instances=instances
          )