this is going to be a lot more work and a lot more code ; I wouldn't be able to re-use the `create()` method + the serialization part.

Really, if you want to duplicate just in the models, you'd just do something like:
```
data = self.__dict__
data.pop('id')
return self.__class__.objects.create(data)
```

Here, we do roughly the same thing, except we are able to re-use rest-framework create logic, which is good to help us validate & override params. I'm usually in favor of doing as much as possible on the model side, but I'm not sure it makes sense here.