Я беру json данные с удаленного сервера. Каждая запись содержит измененную дату. Если запись существует в моей локальной базе данных, я бы хотел заменить текущую локальную запись новой.
Я использую sqlalchemy (последняя версия), и я могу добавить новый экземпляр просто отлично. Я предполагаю, что смогу запросить, чтобы определить, нужно ли мне заменить локальную версию или нет (или просто запустить вставку). Мой вопрос заключается в том, лучше ли сделать delete
вызов, чем add
вызов, или же существует более эффективный подход. Чтобы усложнить ситуацию, изменение может быть вызвано не первичным объектом, а объектом, на который оно указывает. Другими словами, этот объект содержит объекты, которые находятся в других таблицах - отношение один ко многим, и один из этих объектов мог быть изменен или удален.
Наконец, данные, которые я получаю через json содержит только ненулевые поля (не все поля). Все не указанные поля должны иметь значение null / default после обновления строки.