Итак, использование и обучение с помощью sqlalchemy.
У меня есть экземпляр, мне нужно получить значение. Если это значение существует, верните его. Если не вычислить и вернуть его.
Неизменно кто-то скажет: «Вы делаете это неправильно», и в целом приветствуется вклад в улучшение.Однако я ищу, как я могу сделать это без явного управления сеансом, потому что то, над чем я работаю, начинает расти, и постоянно управлять сеансом, когда я хочу обновить экземпляр, проблематично. Это заставляет меня думать, что я действительноделаю это неправильно.
Итак, как мне исправить описанный ниже метод, чтобы он не управлял сеансом явно?
def method(self, session):
if self.i_needed_this is None:
self.i_needed_this = calculate(calcutron)
session.add(self)
session.commit()
return self.i_needed_this
else:
return self.i_needed_this
Может быть, этот вопрос следует озаглавить «создание осведомленности о сеансе экземпляров, чтобы я не всегда явно управлял им», и, если это глупый вопрос, по крайней мере, покажите мне, почему, на примерах, и укажите, где другие спрашивали лучше.
Редактировать: очевидно, импорт сеанса, который я использую, работает, и он доступен, так что, возможно, это не проблема или проблема появится в будущем, когда я буду более опытен в sqlalchemy.