В настоящее время я работаю над проектом Django 2+, включающим блокчейн, и хочу сделать копии некоторых состояний моего объекта в этот блокчейн.
По сути, у меня есть модель (скажем, «контракт»)), который имеет список из нескольких «подписных» объектов.
Я хочу сделать снимок этого договора с подписями. Что я в основном делаю, так это беру контракт в какой-то момент времени (например, когда он создается) и создаю из него JSON.
Моя проблема заключается в следующем: я хочу обновить этот снимок каждый раз, когда добавляется подпись /обновляется / удаляется, и каждый раз, когда изменяется контракт.
Интуитивно понятным решением было бы переопределение каждого "удаления", "создания", "обновления" каждой моделей, участвующих вэтот снимок, и молюсь, чтобы все они были реализованы правильно, и что я ничего не забыл. Но я думаю, что это совсем не масштабируемо, сложно отладить и поддерживать.
Я подумал о решении, которое может быть более централизованным: использование периодического задания для получения даты последнего обновления моего объекта,сравните его с датой моего снимка и при необходимости обновите снимок.
Однако с этим решением я могу определить изменения при изменении или создании объектов, но не при их удалении.
Итак, это мой большой вопросительный знак: как с помощью django вы можете идентифицировать удаления в отношениях без какого-либо предварительного контекста, просто взглянув на текущее состояние базы данных? Есть ли модуль django для записи удаленных объектов? Что вы думаете о моей проблеме?