It's a good idea to use "default values" but eventually the template table contains different templates (set of rows) so i want to chose which set of rows to copy. And the rows can vary from time to time. I think i need another solution, right?

the solution I give you should work, and if you're working with models that differs from each other, instead of assigning one model instance to the other one, just assign recursively values from your template model instance to your new object then save it.
ex: in your TotaltableController: