Я работаю над проектом Django, где каждый раз, когда администратор что-то делает в консоли администратора (CRUD), множество людей получает уведомление. Мне было указано на три метода ModelAdmin, которые называются log_addition, log_created и log_deleted, которые сохраняют всю необходимую информацию в специальную базу данных с именем "django_admin_log".
Я поместил следующий код в мой admin.py:
class ModelAdmin(admin.ModelAdmin):
def log_addition(self, request, object):
subject = 'admin test of creation'
message = 'admin creation detected'
from_addr = 'no_reply@example.com'
recipient_list = ('luka@example.com',)
send_mail(subject, message, from_addr, recipient_list)
return super(ModelAdmin, self).log_addition( *args, **kwargs )
Этот код, однако, игнорируется при создании новых пользователей. Во многих публикациях на самом деле рекомендуется создавать другое имя класса (MyModelAdmin), и я не совсем уверен, почему - дело в том, чтобы переопределить существующую модель. Я попробовал, но с тем же результатом. Кто-нибудь может указать мне правильное направление, пожалуйста? Как именно вы переопределяете метод существующего класса и наделяете его дополнительной функциональностью?
Спасибо!
Luka
РЕДАКТИРОВАТЬ: я понял, кажется, что мне пришлось отменить регистрацию и перерегистрацию пользователя для моего изменения на работу.