1

モデルに simple-history があるかどうかを確認する方法が必要HistoricalRecordです。

悪い方法は、self.history存在するかどうかを確認することですが、開発者が使用履歴を の属性名として使用する必要がないため、私はそれが好きではありませんHistoricalRecord

または、ループスルーを試みることもできdir(model)ますが、関連する名前の逆引きでDoesNotExist例外が発生する可能性があるという問題が発生します。私は例外をキャッチしようとすることができましたが、それは醜いです。

単純な履歴レコードを表示するために作成した特別なビューにdjango adminのリンクを追加し、モデルにHistoricalRecords.

4

1 に答える 1

1

いろいろ調べてみると、simple-history は歴史的なオブジェクトを持つすべてのモデルの記録を保持しているようです! なんて都合のいい!この問題の解決策は次のようになります

from simple_history import models

def has_simple_history(obj):
    return obj.__class__ in models.registered_models.values()
于 2018-02-07T01:05:34.673 に答える