2015-04-20 3 views
0

В моем админ-сайте Django я могу установить «is_active» поле пользователя. Есть ли в любом случае автоматическое предоставление определенных разрешений пользователю после того, как я установил его «is_active = True»?Обновить разрешение при изменении поля пользователя в Django

+0

Что вас означает автоматически ...? –

+0

Другими словами, я хотел бы связать поле пользователя с определенными разрешениями. Если is_active = True, пользователь получает эти разрешения, а если is_active = False, пользователь теряет эти разрешения. – adlius45

ответ

1

Вы можете использовать post_save Джанго сигнала на модели пользователя, которая проходит после того, как User.save() делается, так что в вашем случае, если вы хотите проверить instance.is_active, в то время как вы также можете отозвать разрешения в случае, если сигнал пользователь устанавливаются как is_active = False

Это также лучше, чем переопределение некоторого интерфейса администратора, так как post_save будет работать после того, как модель сохранения, независимо от того, сделана из панели администратора или elsehwere

https://docs.djangoproject.com/en/1.8/ref/signals/#django.db.models.signals.post_save

Смежные вопросы