simplify models, add migrations and constraint about permission which can lead to 500 (exception MultipleObjectsReturned)