def set_with_polymorphic(self, query, cls_or_mappers, selectable, polymorphic_on):
    "Receive an update from a call to query.with_polymorphic().\n\n        Note the newer style of using a free standing with_polymporphic()\n        construct doesn't make use of this method.\n\n\n        "
    if self.is_aliased_class:
        raise NotImplementedError("Can't use with_polymorphic() against an Aliased object")
    if (cls_or_mappers is None):
        query._reset_polymorphic_adapter(self.mapper)
        return
    (mappers, from_obj) = self.mapper._with_polymorphic_args(cls_or_mappers, selectable)
    self._with_polymorphic = mappers
    self._polymorphic_discriminator = polymorphic_on
    self.selectable = from_obj
    query._mapper_loads_polymorphically_with(self.mapper, sql_util.ColumnAdapter(from_obj, self.mapper._equivalent_columns))
Receive an update from a call to query.with_polymorphic().

Note the newer style of using a free standing with_polymporphic()
construct doesn't make use of this method.
def set_with_polymorphic(self, query, cls_or_mappers, selectable, polymorphic_on):
    "Receive an update from a call to query.with_polymorphic().\n\n        Note the newer style of using a free standing with_polymporphic()\n        construct doesn't make use of this method.\n\n\n        "
    if self.is_aliased_class:
        raise NotImplementedError("Can't use with_polymorphic() against an Aliased object")
    if (cls_or_mappers is None):
        query._reset_polymorphic_adapter(self.mapper)
        return
    (mappers, from_obj) = self.mapper._with_polymorphic_args(cls_or_mappers, selectable)
    self._with_polymorphic = mappers
    self._polymorphic_discriminator = polymorphic_on
    self.selectable = from_obj
    query._mapper_loads_polymorphically_with(self.mapper, sql_util.ColumnAdapter(from_obj, self.mapper._equivalent_columns))