Skip to content

Commit 4682679

Browse files
committed
Fixed not getting history model properly
We can't know that the model's `HistoryRecords` field is named `history` (it's simply a convention), so using `get_history_model_for_model()` is more robust.
1 parent b1b46d7 commit 4682679

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

simple_history/admin.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
from django.utils.text import capfirst
1414
from django.utils.translation import gettext as _
1515

16-
from .utils import get_history_manager_for_model
16+
from .utils import get_history_manager_for_model, get_history_model_for_model
1717

1818
USER_NATURAL_KEY = tuple(key.lower() for key in settings.AUTH_USER_MODEL.split(".", 1))
1919

@@ -263,7 +263,7 @@ def has_view_history_or_change_history_permission(self, request, obj=None):
263263

264264
def has_view_history_permission(self, request, obj=None):
265265
if self.enforce_history_permissions:
266-
opts_history = self.model.history.model._meta
266+
opts_history = get_history_model_for_model(self.model)._meta
267267
codename_view_history = get_permission_codename("view", opts_history)
268268
return request.user.has_perm(
269269
f"{opts_history.app_label}.{codename_view_history}"
@@ -272,7 +272,7 @@ def has_view_history_permission(self, request, obj=None):
272272

273273
def has_change_history_permission(self, request, obj=None):
274274
if self.enforce_history_permissions:
275-
opts_history = self.model.history.model._meta
275+
opts_history = get_history_model_for_model(self.model)._meta
276276
codename_change_history = get_permission_codename("change", opts_history)
277277
return request.user.has_perm(
278278
f"{opts_history.app_label}.{codename_change_history}"

0 commit comments

Comments
 (0)