2017-12-14 3 views
0

私はdjango-simple-history == 1.9.0パッケージとdjango 1.8を使用しています。私は、管理外のオブジェクトを作成し、管理ページにオブジェクトの履歴を見てみると 、それはメッセージdjangoのシンプルヒストリ - オブジェクトが管理者で作成されていないときに履歴を作成する方法

このオブジェクトは変更履歴を持っていません示しています。この管理サイトから が追加されていない可能性があります。

私は、そのオブジェクトのユーザーを設定してみました:

user = User.objects.get(username='john') 
Poll.objects.get(id=536).history.update(history_user=user) 

をそれが問題を解決しませんでした。

Poll.objects.get(id=536).history.all().count() 

には1が返され、履歴が生成されます。 ヒストリーを表示する方法や追加のヒストリーを作成する方法はありますか? 私もupdate_change_reasonを試しましたが、それはまったく機能しませんでした。

答えて

0

ジャンゴ - 簡単な履歴が管理ページ外の変更を追跡していないので、どうやら、私は以下の例のようにログ・エントリにログを作成する必要があります。

from django.contrib.admin.models import LogEntry 
from django.contrib.admin.models import LogEntryManager, ADDITION, CHANGE 
user_id = User.objects.all()[0].id 
content_type_id = ContentType.objects.get(model='color').id 
object_id = 4 
object_repr = 'Color object' 
action_flag = CHANGE 
change_message = 'you changed it!' 
LogEntry.objects.log_action(user_id, content_type_id, object_id, object_repr, action_flag, change_message=change_message) 
0

あなたのジャンゴ - シンプルが正しく設定されていると仮定すると、 、インポートジャンゴ - 簡単な履歴、輸入のための次の抜粋を変更したいアプリのmodel.pyファイルで

以下の手順に従ってください。 model.pyファイル、次のように歴史的な属性を追加するには

from simple_history.models import HistoricalRecords 

history = HistoricalRecords() 

例:

from django.db import models 
from simple_history.models import HistoricalRecords 

class Poll(models.Model): 
    question = models.CharField(max_length=200) 
    history = HistoricalRecords() 

ジャンゴに表示されるように管理者の外で行われた変更のためのためには、管理者の場合、次のコードを単に追加してください。admin.pyファイル:

インポート:

from simple_history.admin import SimpleHistoryAdmin 

管理履歴を設定するレジスタを使用します。

admin.site.register(Pool, SimpleHistoryAdmin) 

例:

from django.contrib import admin 
from simple_history.admin import SimpleHistoryAdmin 
from .models import Pool 

# Register your models here. 
admin.site.register(Tag, SimpleHistoryAdmin) 

この履歴が管理者に表示されます後。

出典:

https://django-simple-history.readthedocs.io/en/latest/usage.html#integration-with-django-admin

https://django-simple-history.readthedocs.io/en/latest/advanced.html#recording-which-user-changed-a-model

よろしく、

フェリペDominguesche

Web開発者

関連する問題