Я использую SQLAlchemy в проекте, который не является веб-приложением. Это серверное приложение, которое загружает ряд различных объектов из базы данных и изменяет их локально, но не хочет сохранять эти обновления в базе данных каждый раз при выполнении фиксации. Раньше я работал с Django ORM для некоторых веб-проектов и обнаружил, что он лучше подходит для того, чего я пытаюсь достичь. В Django ORM я мог.save ()каждый объект всякий раз, когда я хотел, не сохраняя другие вещи, которые я, возможно, не хочу сохранять. Я понимаю, почему это работает так в SQLAlchemy, но мне интересно, как я мог бы сделать это в стиле Django -?
Обновление: Чтобы было легче понять, чего я пытаюсь достичь, я приведу пример.
Вот как это работает на самом деле:
a = MyModel.query.get(1)
b = MyModel.query.get(1)
a.somefield = 1
b.somefield = 2
# this will save both of changed models
session.commit()
Вот как я хочу, чтобы это работало:
a = MyModel.query.get(1)
b = MyModel.query.get(1)
a.somefield = 1
b.somefield = 2
a.save()
# I didn't want to save b, changes of b weren't committed
Я хочу иметь больший контроль над тем, что на самом деле сохраняется. Я хочу сохранять изменения каждого объекта каждые 5 минут или около того.