Смысл записи не понял. Почему бы просто не установить `user.set_role` без лишних проверок? Дефолтная роль проставляется на этапе генерирования вьюхи. А сюда какая пришла, такую и установили.