Есть ли способ отобразить исторические записи для всех экземпляров модели с помощью django-simple-history?
Я использую django-simple-history
для сохранения истории объектов. И это прекрасно работает. Но я хочу создать представление в админке django, которое отображает записи истории для всех экземпляров модели на одной странице.
Например, у меня есть модель
class TestModel(models.Model):
title = models.CharField('title', max_length=100)
history = HistoricalRecords()
и admin
class TestModelAdmin(SimpleHistoryAdmin):
list_display = ['title']
admin.site.register(TestModel, TestModelAdmin)
Теперь я могу видеть историю каждого экземпляра.
Не уверен, как я могу решить эту проблему. Может быть, есть способ создать пользовательские представления в админке сайта (без модели), или, может быть, я должен создать другую модель?
Как лучше всего отобразить все записи истории (для всех экземпляров) в панели администратора?
Используйте through
модель TestModel.history
в качестве модели администратора:
class HistoricalTestModelAdmin(admin.ModelAdmin):
list_display = ['title', 'history_object']
admin.site.register(TestModel.history.model, HistoricalTestModelAdmin)
Ссылка .history_object
относится к объекту, для которого мы отслеживаем историю. Таким образом, в данном случае мы можем, например, найти исторические названия ваших TestModel
объектов.