django バージョン 1.10 で django-simple-history プラグインを使用しようとしています
ドキュメントによると:
次のコマンドを使用してプラグインをインストールしました。
pip install django-simple-history
INSTALLED_APPS に simple_history を追加
INSTALLED_APPS = [ ... 'simple_history', ]
モデルの履歴を追跡するには、モデルに simple_history.models.HistoricalRecords のインスタンスを作成します。
class ModelClass(models.Model): name1 = models.CharField(max_length=300) name2 = models.CharField(max_length=300) name3 = models.CharField(max_length=300) history = HistoricalRecords(table_name='sampls_modelclass_history') class Meta: db_table = "sample_modelclass"
モデルを管理サイトに登録するときに simple_history.admin.SimpleHistoryAdmin クラスから継承された、Django 管理サイトで以前のモデル バージョンを表示できるようにするには:
from django.contrib import admin from simple_history.admin import SimpleHistoryAdmin from .models import ModelClass admin.site.register(ModelClass, SimpleHistoryAdmin)
admin で ModelClass の特定のインスタンスに「History」を入力しようとすると、次の例外が発生します。
TypeError: render() got an unexpected keyword argument 'dictionary'
トレースバック:
Environment:
Request Method: GET
Request URL: http://127.0.0.1:8000/admin/org/modelclass/1/history/
Django Version: 1.10
Python Version: 2.7.11
Installed Applications:
['etc',
'org',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'simple_history']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware']
**Traceback:**
File "C:\Python27\lib\site-packages\django\core\handlers\exception.py" in inner
39. response = get_response(request)
File "C:\Python27\lib\site-packages\django\core\handlers\base.py" in _get_response
187. response = self.process_exception_by_middleware(e, request)
File "C:\Python27\lib\site-packages\django\core\handlers\base.py" in _get_response
185. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "C:\Python27\lib\site-packages\django\contrib\admin\options.py" in wrapper
544. return self.admin_site.admin_view(view)(*args, **kwargs)
File "C:\Python27\lib\site-packages\django\utils\decorators.py" in _wrapped_view
149. response = view_func(request, *args, **kwargs)
File "C:\Python27\lib\site-packages\django\views\decorators\cache.py" in _wrapped_view_func
57. response = view_func(request, *args, **kwargs)
File "C:\Python27\lib\site-packages\django\contrib\admin\sites.py" in inner
211. return view(request, *args, **kwargs)
File "C:\Python27\lib\site-packages\simple_history\admin.py" in history_view
79. dictionary=context, current_app=request.current_app)
Exception Type: TypeError at /admin/org/modelclass/1/history/
Exception Value: render() got an unexpected keyword argument 'dictionary'
解決策を教えてください!