If you look at the Backbone source code line 256 specifically you'll see that parse
is called, if it exists, when creating a new Model.
When you add models to a collection, it takes the response from the server, and for each item in it, it just generates a new model with that data.
However, the collection itself has a parse
method as well that gets called.
But what you're looking for is a conditional call to Model#parse
depending on the context. The issue here is that when the Model is being created it doesn't know if you're doing it as a standalone model or as part of the context of creating a collection.
You'd have to design your model parse method to introspect response
and determine if it needs extra processing or not. If not, just return response back out. If so, do your work, and then return the "fixed" response.