You can get descendants list if you know location id with function get_descendants
:
location = Location.objects.get(pk="some_location_id")
descendants = location.get_descendants().values_list('id', flat=True)
building_list = Building.objects.filter(title__icontains='house',
location__in=descendants)