Return all parents and subsidiaries of the company
        Include the company if include_self = True

def get_all_related_companies(self, include_self=False):
        """
        Return all parents and subsidiaries of the company
        Include the company if include_self = True
        """
        parents = self.get_all_parents()
        subsidiaries = self.get_all_children()
        related_companies = parents | subsidiaries

        if include_self is True:
            company_qs = Company.objects.filter(id=self.id)
            related_companies = related_companies | company_qs

        related_companies_ids = [company.id for company in list(set(related_companies))]
        related_companies = Company.objects.filter(id__in=related_companies_ids)

        return related_companies