Hello, I need some help in what follows:
I have a class animal with two relational fields to itself:
class animal(osv.osv):
_name = 'animal.animal'
_columns = {
'parent_id': fields.many2one('animal.animal', string='Mother', domain="[('sex', '=', 'female')]"),
'father_ids': fields.many2many('animal.animal', 'animal_father_rel', 'animal_id', 'father_id', string='Fathers', domain="[('sex', '=', 'male')]"),
'father_chid_ids': fields.many2many('animal.animal', 'animal_father_rel', 'father_id', 'animal_id', string='Child animals'),
'chid_ids': fields.one2many('animal.animal', 'parent_id', string='Child animals')
}
As you can see, an animal have only one mother of course, but may have registered one or more fathers (usually they are two), because a female animal may receive one or more services of fertilization, either by artificial insemination or natural service.
So I need to develop a functionality that allows to check relationship between two animal. It should return if those two animals are descendants of an animal, if this is the case, it should show how many generations are between each one and that ancestor; if one of them is direct descendant of the other or if they are not relatives at all.
Perhaps this is not a proper OpenERP question, but I'm stuck here.
Any help, thanks in advanced.
Regards.