code: def get_object(self, request, object_id, from_field=None):
          
          # from_field breaks in 1.7.8
          obj = super(VersionedAdmin, self).get_object(request,
                                                       object_id)
          # Only clone if update view as get_object() is also called for change,
          # delete, and history views
          if request.method == 'POST' and \
                  obj and \
                  obj.is_latest and \
                  'will_not_clone' not in request.path and \
                  'delete' not in request.path and \
                  'restore' not in request.path:
              obj = obj.clone()
  
          return obj
docs: our implementation of get_object allows for cloning when updating an
          object, not cloning when the button 'save but not clone' is pushed
          and at no other time will clone be called