@classmethod
    def coerce(cls, key, value):
        if not isinstance(value, MutableList):
            if isinstance(value, list):
                return MutableList(value)

            # this call will raise ValueError
            return mutable.Mutable.coerce(key, value)
        else:
            return value
Tests that relations with intermediary tables with multiple FKs
dataset/ETHPy150Open openstack/sahara/sahara/db/sqlalchemy/types.py/MutableList.coerce--crossover with--dataset/ETHPy150Open django/django/tests/m2m_through/tests.py/M2mThroughTests.test_through_fields