У меня есть сигнал предварительного сохранения для одной из моих моделей. Этот сигнал предварительного сохранения выполняет некоторую деятельность фонового API для синдикации новых и обновленных объектов поставщикам услуг и возврата бессмысленных данных для хранения в качестве ссылок в местах исходных данных.Django pre-save signal
Новые и обновленные методы в API отличаются.
В идеале, если пользователь должен выполнить обновление, они будут очищать бессмысленные данные от поля и печатать на нем. Мой сигнал должен был знать, какие поля были обновлены, чтобы отправлять изменения только для этих полей, поскольку отправка всех полей в обновлении будет отправлять бессмысленные ссылки в качестве необработанных данных в дополнение к обновлениям.
Предустановленный сигнал имеет аргумент update_fields
. Я искал некоторые детали и обнаружил, что этот аргумент может включать все поля при выполнении обновления.
Что касается update_fieldsкак документы имеют мало информации об этом
- При создании объекта, ничего не делает получить передается update_fields?
- При обновлении объекта все поля передаются в update_fields или только те, которые были обновлены?
Есть ли какие-либо другие предложения по тому, как это решить? Я знаю, что post_save
имеет аргумент created
, но я предпочел бы работать с данными до его сохранения.
Я напишу отдельную форму для обновления и установил там 'update_fields' ... – henryaaron