For pages under admin control, yes, we need a full system history. For other tables what we need is more narrowly defined. I have very clear specs on what I need to log. ATM performance is not a concern.
On Fri, Dec 15, 2023 at 8:37 PM Mike Dewhirst <[email protected]> wrote: > You seem to be asking for a full history 'system'. > > I think the Admin history exists to show a bit of history with a link to > go back to the change form where it happened. > > Full history needs to be specified fairly carefully so it doesn't bog the > system down. For example, every write costs a performance hit. Also, how > resilient must it be to cope with database schema changes? How is it going > to be used in practice? What are the benefits and are they worth the > effort. > > I have worked through some of this in my current project and decided to > create separate 'mirror' tables for only the critical information and > automate data collection for others in a plain text field for archival. > > It can be quite open ended and might reward very aggressive specification. > > Cheers > > Mike > > > > -- > (Unsigned mail from my phone) > > > > -------- Original message -------- > From: Larry Martell <[email protected]> > Date: 16/12/23 01:47 (GMT+10:00) > To: [email protected] > Subject: Re: logging admin accesses > > On Thu, Dec 14, 2023 at 5:49 PM Mike Dewhirst <[email protected]> > wrote: > >> Top posting because of phone email client. >> >> Have you seen the Admin history? Might be already logged for you. >> > > Thanks, this is useful, but it does not seem to be logging everything. We > have a custom user admin page that updates a few models in addition to > User: UserInfo, UserExtendProduct, and UserRole. If I add a new user I see > this: > > > +-----------+-------------+-------------+-----------------------------------------------------------------------------------------------------------------------------+-----------------+---------+ > | object_id | object_repr | action_flag | change_message > > | content_type_id | user_id | > > +-----------+-------------+-------------+-----------------------------------------------------------------------------------------------------------------------------+-----------------+---------+ > | 3 | x | 1 | [{"added": {}}, {"added": > {"name": "user info", "object": "x"}}, {"added": {"name": "user extend > product", "object": "x"}}] | 4 | 1 | > > +-----------+-------------+-------------+-----------------------------------------------------------------------------------------------------------------------------+-----------------+---------+ > > It shows that a row in User, UserInfo, and UserExtendProdct were > added, but it does not show what was added to the latter 2, and it does not > show that rows were added to UserRole. > > When I modify a user and cause UserRole to be updated I see this: > > > +-----------+-------------+-------------+----------------+-----------------+---------+ > | object_id | object_repr | action_flag | change_message | content_type_id > | user_id | > > +-----------+-------------+-------------+----------------+-----------------+---------+ > | 3 | x | 2 | [] | 4 > | 1 | > > +-----------+-------------+-------------+----------------+-----------------+---------+ > > No info about that row being added. If I cause a row in UserRole to be > deleted I get the exact same entry, so I cannot distinguish between an add > and a delete and I can't see what was added or deleted. > > But if I cause a row in UserInfo or UserExtendProduct to be added I see > this: > > > +-----------+-------------+-------------+-----------------------------------------------------------------------------------------------------------------------------+-----------------+---------+ > | object_id | object_repr | action_flag | change_message > > | content_type_id | user_id | > > +-----------+-------------+-------------+-----------------------------------------------------------------------------------------------------------------------------+-----------------+---------+ > | 3 | x | 1 | [{"added": {}}, {"added": > {"name": "user info", "object": "x"}}, {"added": {"name": "user extend > product", "object": "x"}}] | 4 | 1 | > > +-----------+-------------+-------------+-----------------------------------------------------------------------------------------------------------------------------+-----------------+---------+ > > Shows an add, but not what was added. > > So my questions are: > -how can I get it to show the details of what was added or changed > -why are updates to UserInfo and UserExtendProduct shown, but updates to > UserRole are not? > > Thanks! > > -------- Original message -------- >> From: Larry Martell <[email protected]> >> Date: 15/12/23 06:44 (GMT+10:00) >> To: [email protected] >> Subject: logging admin accesses >> >> Is there a way to capture all admin changes (add, change, delete). I have >> some middleware that gets called on any admin add, change, or delete, but I >> have not figured out a way to capture specifically what was done, something >> like: model, PK, action, e.g. >> >> user, 12, change, first name changed >> user, 15, add >> user, 24, delete >> >> I am looking for something generic that will work for all models under >> admin control >> > -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CACwCsY6U%2B6T%3D6kP69J3d%3Ddm%3DZ%2Btrp-WhadJ%2B8sj1B5YOQzajYA%40mail.gmail.com.

