- анти паттерн.
Пример: у меня в рабочем проекте есть роли у пользователей. Есть модель User, у неё есть поле roles, что является list-ом объектов Role. Насколько это нормально/не нормально не знаю, но если брать следующее, то это точно неправильно. У меня в const.py находится класс Roles, что определяет эти объекты. И вот получается, что у класса Roles нет ни одного метода и это анти паттерн. Как быть? Я использую его, условно говоря, в ситуациях, когда мне нужно сравнивать роли между собой (current_user.role == const.Roles.administrator).
Фигню ты прочитал, ну или скорее не фигню, а что-то с плохим переводом или про другой язык
В твоём примере у пользователя может быть только одна роль или несколько? По твоему описанию выглядит, что несколько, но в примере внизу только одна роль может быть
Вот суть в том, что раньше было так: у каждого пользователя одна роль, теперь надо расширить до списка, и я вот столкнулся с тем, что возможно хранить роли в отдельном классе - не оч схема.
В принципе нормально, но когда у пользователя несколько ролей, это скорее история не про роли, а доступы, я бы изменил бизнес модель
А в какую сторону? Можно поподробней? Просто по факту да, роли - сущности, определяющие доступ к тому или иному функционалу. По крайней мере так это сделано сейчас. Что можете предложить?
Что у тебя есть какой-то набор прав для определённых действий. И чтоб юзер мог выполнять определённое действие надо ему дать соответствующие права
Обсуждают сегодня