Как лучше реализовать историю действий?

Есть некоторая задача, создать последовательность действий в БД. Сразу пришла в голову мысль о том, что это похоже не систему комментариев. Однако стоит ли приспосабливать к такой задаче систему комментариев?
Есть еще идея использовать pID для каждой записи, подойдет ли такая реализация?
Например - человек купил карандаш, потом он ее обменял на цветной карандаш, потом он обменял на шариковую ручку и так далее. При этом такой человек должен иметь возможность иметь больше одной последовательности.
Думаю лучше примера не смогу придумать)
  • Вопрос задан
  • 377 просмотров
Пригласить эксперта
Ответы на вопрос 2
Например - человек купил карандаш, потом он ее обменял на цветной карандаш, потом он обменял на шариковую ручку и так далее.


Это обычно называют история действий, "история" - ключевое слово. Вот вам вариант записи таблицы истории действий:
[<субъект> | <номер последовательности> | <датавремя>] | <объект> | <действие>
То, что в кв. скобках - ключ записи.
Если скажете подробнее, что делаете - кто субъект, какие действия выполняет - предложим и более конкретную схему таблицы.
Ответ написан
@jsse
самый простой вариант использовать дерево, где каждый конечный узел и будет последним действием.
таким образом можно в любой момент забрать историю(ancestors) или построить всю картину в виде дерева.

я бы рекомендовал mptt для django, но можно найти и более простые решения
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы