Zwykle do takiej aktywności można użyć Django Admin Logs
, jeśli chcesz.
Zwykle Django śledzi czynności administracyjne, takie jak tworzenie, aktualizowanie lub usuwanie istniejących rekordów. Ma następującą strukturę:
from django.contrib.admin.models import LogEntry
LogEntry.objects.log_action(
user_id = ...,
content_type_id = ...,
object_id = ...,
object_repr = ....,
change_message = ...,
action_flag = ...
)
używam, że w moim systemie jako rejestrator i śledzeniem każdym działaniu. Zwykle dzienniki Django wstawiają, aktualizują lub usuwają operacje wykonywane za pośrednictwem formularzy administracyjnych, a ja zapisuję ręcznie zapisane działania widoku i formularza. Ponadto można przechwytywać operacje użytkownika, takie jak logowanie/wylogowanie za pomocą signals.
Zdefiniowałem nowe flagi akcji. Django używa 3 flag: 1 dla insert, 2 dla update i 3 dla delete. Rozszerzyłem tę listę o moje flagi akcji.
Zaletą korzystania z tej funkcji jest, jak już powiedziałem, nie trzeba zajmować się domyślnymi formularzami administracyjnymi Django i działaniami wykonanymi przy użyciu tych formularzy.