Как регистрировать старые и новые данные об обновлениях модели в Django Rest Framework, используя Celery для асинхронной обработки?
Мне нужно регистрировать как старые, так и новые значения полей всякий раз, когда модель обновляется в Django Rest Framework (DRF). Журналы должны быть сохранены в отдельной базе данных или во внешней системе, такой как Elasticsearch. Задача состоит в том, чтобы получить оба значения, не запрашивая базу данных повторно и не влияя на производительность. Я хочу обрабатывать этот процесс ведения журнала асинхронно, используя Celery.
Что я пробовал:
- Использовал сигналы pre_save и post_save для обнаружения обновлений.
- Пробовал запросить базу данных, чтобы получить старые данные, но я хочу избежать этого дополнительного запроса.
- Интегрирован Celery для асинхронной обработки журнала, но я не уверен в наилучшем способе эффективного сбора старых и новых значений.
В чем мне нужна помощь:
- Как я могу собирать как старые, так и новые данные, не запрашивая базу данных?
- Как я могу использовать Celery для асинхронной обработки журнала, чтобы избежать проблем с производительностью?
- Существует ли существующий шаблон или наилучшая практика для ведения журнала изменений в моделях Django?