2
2
3
3
import django
4
4
from django import http
5
+ from django .apps import apps as django_apps
5
6
from django .conf import settings
6
7
from django .conf .urls import url
7
8
from django .contrib import admin
8
9
from django .contrib .admin import helpers
9
10
from django .contrib .admin .utils import unquote
10
- from django .contrib .contenttypes .models import ContentType
11
11
from django .core .exceptions import PermissionDenied
12
12
from django .shortcuts import get_object_or_404 , render
13
13
from django .urls import reverse
@@ -80,7 +80,9 @@ def history_view(self, request, object_id, extra_context=None):
80
80
for list_entry in action_list :
81
81
setattr (list_entry , history_list_entry , value_for_entry (list_entry ))
82
82
83
- content_type = ContentType .objects .get_by_natural_key (* USER_NATURAL_KEY )
83
+ content_type = self .content_type_model_cls .objects .get_by_natural_key (
84
+ * USER_NATURAL_KEY
85
+ )
84
86
admin_user_view = "admin:%s_%s_change" % (
85
87
content_type .app_label ,
86
88
content_type .model ,
@@ -196,7 +198,9 @@ def history_form_view(self, request, object_id, version_id, extra_context=None):
196
198
"has_absolute_url" : False ,
197
199
"form_url" : "" ,
198
200
"opts" : model ._meta ,
199
- "content_type_id" : ContentType .objects .get_for_model (self .model ).id ,
201
+ "content_type_id" : self .content_type_model_cls .objects .get_for_model (
202
+ self .model
203
+ ).id ,
200
204
"save_as" : self .save_as ,
201
205
"save_on_top" : self .save_on_top ,
202
206
"root_path" : getattr (self .admin_site , "root_path" , None ),
@@ -216,3 +220,9 @@ def save_model(self, request, obj, form, change):
216
220
"""Set special model attribute to user for reference after save"""
217
221
obj ._history_user = request .user
218
222
super (SimpleHistoryAdmin , self ).save_model (request , obj , form , change )
223
+
224
+ @property
225
+ def content_type_model_cls (self ):
226
+ """Returns the ContentType model class.
227
+ """
228
+ return django_apps .get_model ("contenttypes.contenttype" )
0 commit comments