1. Скорее всего у вас ошибка в логике.
Если скорее всего в одном городе может быть НЕСКОЛЬКО моделей (и теоретически регионов хотя это было бы и не логично), потому вам нужно выбрать КОНКРЕТНУЮ модель.
2. Всесто Distinct используйте group by.
select max(model_id) as model_id, city_id, max(region_id) as region_id
from articles a join models m on a.model_id = m.id
group by city_id