I was saying Django's inspectdb will write them for you.M--(Unsigned mail from 
my phone)
-------- Original message --------From: Larry Martell <larry.mart...@gmail.com> 
Date: 20/12/23  00:51  (GMT+10:00) To: django-users@googlegroups.com Subject: 
Re: logging admin accesses On Mon, Dec 18, 2023 at 7:23 PM Mike Dewhirst 
<mi...@dewhirst.com.au> wrote:>> On 19/12/2023 9:51 am, Larry Martell wrote:>> 
Hmmm, in my case I do not see any models for those in any of my models.py 
files. Where would I expect to find them?>>> You have to write them 
yourself.Yeah, thanks. I know I can create them myself. I thought you 
weresaying they were already created by django.The best way is to run manage.py 
inspectdb > models.txt then extractthe m2m models from there. In theory and 
provided you follow theadvice at the top of the output ...>> # This is an 
auto-generated Django model module.> # You'll have to do the following manually 
to clean this up:> #   * Rearrange models' order> #   * Make sure each model 
has one field with primary_key=True> #   * Make sure each ForeignKey and 
OneToOneField has `on_delete` set to the desired behavior> #   * Remove 
`managed = False` lines if you wish to allow Django to create, modify, and 
delete the table> # Feel free to rename the models, but don't rename db_table 
values or field names.> from django.db import models>>> ... just having the 
model declarations should not require a migration. Haven't checked that 
myself.>>> On Mon, Dec 18, 2023 at 5:26 PM Mike Dewhirst 
<mi...@dewhirst.com.au> wrote:>>>> 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 
behind>> the scenes by django to handle one to many relations that do not 
have>> models. 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.>>
 --> 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/CACwCsY78BT13wTnFH4JtPM9nPxPUZTaw1UJtVG7tsf-Je5QEYA%40mail.gmail.com.>>>>
 --> Signed email is an absolute defence against phishing. This email has> been 
signed with my private key. If you import my public key you can> automatically 
decrypt my signature and be sure it came from me. Your> email software can 
handle signing.>> --> 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/ace0d1ce-1864-46bd-a9f4-229548eab49f%40dewhirst.com.au.--
 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/CACwCsY4bXBVNRD9fCZ3hb-4DH8yo1qhQnyhxwp-h8_q7ECkYXQ%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/658213e1.050a0220.e1c89.eaf8SMTPIN_ADDED_MISSING%40gmr-mx.google.com.

Reply via email to