Многоуровневая фильтрация объектов в Django

Привет всем Я хочу отфильтровать объект, который находится в форме дерева

class UserModel(model.Model):
     created_by = models.ForiegnKey('self',on_delete=model.SET_NULL,null=True)
     name = model.CharField(max_length = 50)

отношение будет userModel

A,B... представляют UserModel, A -> B, представляют B дочерней по отношению к A

A -> B -> C -> D -> E -> F-> и так далее

Я хочу отфильтровать объект, где A может видеть своих дочерних и внучатых детей, но не своего GrandParent

A может видеть объекты UserModel, созданные B C D E и так далее, но B может видеть только User, созданный C D E F, но не для A;

Вернуться на верх