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.

Reply via email to