Those many-to-many relations most certainly can have models and all of mine 
always do. It is more explicit to do so but more importantly they generally 
carry essential real-world information about the relationship itself.I haven't 
looked at django-simple history beyond deciding to roll my own but it may well 
cover m2m tables if you add the models explicitly. --(Unsigned mail from my 
phone)
-------- Original message --------From: Larry Martell <larry.mart...@gmail.com> 
Date: 19/12/23  08:18  (GMT+10:00) To: django-users@googlegroups.com Subject: 
Re: logging admin accesses django-simple-history is close to what we need. The 
one issue I see(so far) is that it does not support tables that are created 
behindthe scenes by django to handle one to many relations that do not 
havemodels. Does anyone know how to maintain history on those?On Mon, Dec 18, 
2023 at 2:48 PM Larry Martell <larry.mart...@gmail.com> wrote:>> No, I have not 
see django-simple-history - thanks for the pointer - will check it out.>> On 
Fri, Dec 15, 2023 at 9:02 PM Mike Dewhirst <mi...@dewhirst.com.au> wrote:>>>> 
Just thinking about it again ... you could look at the Admin source to see how 
it is working now and perhaps find a way to include the missing info in a 
pre-save signal.>>>> Also, I found django-simple-history online but I suppose 
you have seen that already.>>>> M>>>> -->> (Unsigned mail from my 
phone)>>>>>>>> -------- Original message -------->> From: Mike Dewhirst 
<mi...@dewhirst.com.au>>> Date: 16/12/23 12:38 (GMT+10:00)>> To: 
django-users@googlegroups.com>> Subject: Re: logging admin accesses>>>> 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 <larry.mart...@gmail.com>>> 
Date: 16/12/23 01:47 (GMT+10:00)>> To: django-users@googlegroups.com>> Subject: 
Re: logging admin accesses>>>> On Thu, Dec 14, 2023 at 5:49 PM Mike Dewhirst 
<mi...@dewhirst.com.au> 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 
<larry.mart...@gmail.com>>>> Date: 15/12/23 06:44 (GMT+10:00)>>> To: 
django-users@googlegroups.com>>> 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 
django-users+unsubscr...@googlegroups.com.to view this discussion on the web 
visit 
https://groups.google.com/d/msgid/django-users/CACwCsY75mz6-izVAGOaZHF%3DaZZ2U8AUmLgBzUVJB1b2owCMyBA%40mail.gmail.com.

-- 
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 django-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/6580c72a.050a0220.a9a3e.6984SMTPIN_ADDED_MISSING%40gmr-mx.google.com.

Reply via email to