Разделение прав пользователей?

Вот есть три апп.
1. Гараж
2. Автомобили
3. Отзывы.
и два типа пользователей простой который может только оставить отзыв и второй который только может создать один гараж и добавлять не огриниченое количество автомобилей .
как разделить логику ? Пусть для владелца гаража нужно создать кастомную модель пользователя, но вот как именно разделить по правам ? + если я создам кастомною модель пользователя как мне понять зарегистрировался это владелец или просто человек ради отзыва ?
+ как дать разрешение владельцу создать только один гараж , и при этом ен количевство автомобилей внутри.

простите , не знаю как по другому обяснить
  • Вопрос задан
  • 256 просмотров
Пригласить эксперта
Ответы на вопрос 2
@deliro
Используй стандартные permission'ы. Для добавления/редактирования/удаления они автоматически создаются.
Ответ написан
Комментировать
на самом деле Вам необходима не модель пермишенов а проверка на условия.
данные добавляются через форму. вот и валидируйте по Вашим условиям. Для Вас валидация - это всего лишь набор правил, которые формируют запрос к таблицам и в случае возвращения какого-то результата - это есть ошибка. Правила можно вынести в отдельную админку.
проверять формы можно через метод clean. Вам просто нужно переопределить его под свои нужды.
вот простой пример из него понятна вся суть
def clean(self):
    form_data = self.cleaned_data
    if form_data['password'] != form_data['password_repeat']:
        self._errors["password"] = ["Password do not match"] # Will raise a error message
        del form_data['password']
    return form_data
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы