code: function edit(data, unfilteredOptions) {
          const options = this.filterOptions(unfilteredOptions, 'edit');
          const id = options.id;
          const model = this.forge({id: id});
  
          data = this.filterData(data);
  
          // @NOTE: The API layer decides if this option is allowed
          if (options.filter) {
              model.applyDefaultAndCustomFilters(options);
          }
  
          // We allow you to disable timestamps when run migration, so that the posts `updated_at` value is the same
          if (options.importing) {
              model.hasTimestamps = false;
          }
  
          return model
              .fetch(options)
              .then((object) => {
                  if (object) {
                      options.method = 'update';
                      return object.save(data, options);
                  }
  
                  throw new common.errors.NotFoundError();
              });
      }
docs: ### Edit
  Naive edit
  
  We always forward the `method` option to Bookshelf, see http://bookshelfjs.org/#Model-instance-save.
  Based on the `method` option Bookshelf and Ghost can determine if a query is an insert or an update.
  
  @param {Object} data
  @param {Object} unfilteredOptions (optional)
  @return {Promise(ghostBookshelf.Model)} Edited Model