You would just replace your indicator parameter m with the mixing parameter \mu so that \mu =p(m) [edit: or, to be a bit more precise, \mu =p(m=1)].
edit:
In the case of 3 sub-models, you would need a Dirichlet-distributed parameter something like this:
# model definitions
# replace with something useful
model_components = [
# model 1
pm.Poisson.dist(mu=mu1),
# model 2
pm.StudentT.dist(mu=mu2),
# model 3
pm.Normal.dist(mu=mu3),
]
# mixture weights
w = pm.Dirchlet("w", a=np.ones(num_models))
# likelihood
like = pm.Mixture(
"like",
w=w,
comp_dists=model_components,
observed=data,
)