99"""
1010
1111
12- def save_model (self , request , obj , form , change ):
13- super (type (self ), self ).save_model (request , obj , form , change )
12+ def _changeform_view (self , request , object_id , form_url , extra_context ):
13+ # this method of ModelAdmin is wrapped in a transaction and it calls save_model() and save_related()
14+ # and then returns a response.
15+ # we extend it to update the static data every time an admin changes a model (and/or its related)
16+ response = super (type (self ), self )._changeform_view (request , object_id , form_url , extra_context )
1417 call_command ("export_default" )
1518 call_command ("collectstatic" , "--no-input" )
19+ return response
1620
1721
1822@admin .register (QMRAReference )
1923class QMRAReferenceAdmin (admin .ModelAdmin ):
2024 list_display = ["name" , "link" ]
21- save_model = save_model
25+ _changeform_view = _changeform_view
2226
2327
2428class QMRAInflowInline (admin .TabularInline ):
@@ -31,22 +35,22 @@ class QMRASourceAdmin(admin.ModelAdmin):
3135 list_display = ["name" , "description" ]
3236 inlines = [QMRAInflowInline ]
3337
34- save_model = save_model
38+ _changeform_view = _changeform_view
3539
3640
3741@admin .register (QMRAExposure )
3842class QMRAExposureAdmin (admin .ModelAdmin ):
3943 list_display = ["name" , "events_per_year" , "volume_per_event" ]
4044 # inlines = [ReferenceInline]
4145
42- save_model = save_model
46+ _changeform_view = _changeform_view
4347
4448
4549@admin .register (QMRAPathogen )
4650class QMRAPathogenAdmin (admin .ModelAdmin ):
4751 list_display = ["name" , "group" ]
4852
49- save_model = save_model
53+ _changeform_view = _changeform_view
5054
5155
5256@admin .register (QMRATreatment )
@@ -71,4 +75,4 @@ class QMRATreatmentAdmin(admin.ModelAdmin):
7175 ]
7276 filter_horizontal = ["bacteria_references" , "viruses_references" , "protozoa_references" ]
7377
74- save_model = save_model
78+ _changeform_view = _changeform_view
0 commit comments