Skip to content

Commit 5132912

Browse files
committed
export default after the model AND its related have been saved
1 parent a35175c commit 5132912

1 file changed

Lines changed: 11 additions & 7 deletions

File tree

qmra/risk_assessment/admin.py

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,20 @@
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)
1923
class QMRAReferenceAdmin(admin.ModelAdmin):
2024
list_display = ["name", "link"]
21-
save_model = save_model
25+
_changeform_view = _changeform_view
2226

2327

2428
class 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)
3842
class 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)
4650
class 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

Comments
 (0)