Я хочу показать пользователю последние 10 изменений во всех моих объектах базы данных.
Я использую django-reversion для отслеживания истории изменений в моих модельных объектах.Я также несколько дублирую это в сводном представлении.Там, где реверсия создает список истории по объектам, сводный вид просто отслеживает один список с каждым изменением в хронологическом порядке.Является ли более эффективным делать запросы с помощью этого сводного списка, или я мог бы / должен ли я просто запросить все таблицы реверсии на предмет последних 10 изменений для всех объектов?
Вторая часть: Я хочу показатьПользователь их правки сгруппированы по объекту
Итак, скажем, пользователь редактировал 3 объекта по 10 раз каждый.Пользователь редактировал каждый объект в разные дни, поэтому в первый день пользователь редактировал все 3, во второй день пользователь редактировал, может быть, 1 из них и т. Д. Я хочу показать пользователю таблицу, которая выглядит следующим образом
Object Date of your most recent edit Date of last edit
Object 1 12-24-11 12-25-11
Object 2 12-20-11 12-23-11
Если во втором столбце указано последнее редактирование, специфичное для пользователя, а в третьем столбце указано последнее изменение, выполненное любым пользователем.
Я хочу, чтобы пользователь мог выбрать Объект 1, а затем увидетьвсе их правки для этого объекта:
Object Date of your most recent edit Date of last edit
Object 1 12-24-11 12-25-11
edited name 12-24-11
edited type 12-19-11
edited subject 12-18-11
edited date 12-18-11
edited type 12-16-11
Object 2 12-20-11 12-23-11
Как я могу структурировать этот запрос?Самый прямой способ, который я могу придумать, это запросить отдельный / уникальный список объектов, отфильтрованных пользователем, из таблиц реверсии или сводной таблицы, а затем запросить реверсию по пользователю и объекту, чтобы получить более подробную историю.Кажется, это может быть более эффективным.
Могу ли я создать еще одну сводную таблицу для пользователя, которая бы отслеживала изменения для упрощения запросов в этом формате?Как бы я структурировал этот тип таблицы?
Какой-то код.Я использую это, чтобы получить список всей истории для данного объекта.Он дает мне список версий для объекта базы данных, примечание о том, что было отредактировано, дату редактирования и пользователя, который внес изменение:
version_list = Version.objects.get_for_object(object).select_related("revision__user")
И я просто использую это, чтобы получить простойсписок правок.В этой сводной таблице последние 10 записей являются самыми последними изменениями (объект, сведения о том, что было изменено, дата и пользователь):
whats_new_items = WhatsNew.objects.all()[0:10]