Stop using inheritance, it is the wrong tool for this job.
Instead, favor compositional typing.
A specific car has an engine, a carmodel has a default engine that is associated with it. Inheritance has a hard time modeling this.
Using compositional typing, it is possible to change out the engine of an Audi, and have it use a Chevy big block if you are so inclined :D
A CarModel doesn't have an engine, just a default specification for what type of engine should be placed in that kind of car.