Unlink "Material" from current "Material slots" (but not remove) with bpy
The DATA materials are stored in ao.data.materials. Try
for i in range(len(ao.data.materials)):
    ao.data.materials[i] = None