Create record from another one

Hi, I try to create a model in a route file using data from an another record…
What is the best way to achieve this aim ?
I tried this :

model(params) {
    return this.store
      .find("challenge", params.template_id)
      .then(template => this.store.createRecord("challenge", template.toJSON())
      );
  },

But the nested data dissapears…
Thx.