You can have both _name and _inherit on your new class (third class). Your new model will have the entire properties of the model you inherit, including the second class that you extend from the first one, without altering the properties of the first model. On your third class, I think you need to depend to those two modules defining the first and second class. Here an example:
class A(models.Model):
_name = 'model.a'
property_a = fields.Any()
def do_stuff(self):
pass
class B(models.Model):
_inherit = 'model.a'
more_property = fields.Any()
def do_stuff(self):
# do any other stuff
super(B, self).do_stuff()
class C(models.B)
_name = 'model.c'
_inherit = ['model.a', 'any.other.model.you.want']
property_c = fields.Any()
def do_stuff(self):
super(C, self).do_stuff() # this will call the method defined in class A and class B
# do more stuff
def do_something_only_in_c(self):
pass