У меня проблема с передачей объектов SQLAlchemy другим классам.
Проблема заключается в следующем: у меня есть определенный модуль Flask, который находится внутри app.py.Оттуда я инициализирую объект из другого класса, давайте назовем этот класс A и объект a.Я также инициализирую объект SQLAlchemy с именем file (из файла File) и передаю его классу следующим образом:
app.py:
file = File(...)
db_session.add(file) # db_session is a scoped session
db_session.commit()
a = A(file=file)
a.do_stuff()
file = db_session.merge(a.file)
A.py
class A:
def __init__(self, file)
self.file = file
def do_stuff(self):
self.file.some_attr = 'new_value'
db_session.commit()
Изменения, сделанные в A или потерянные, никогда не фиксируются.Я использую здесь неправильный шаблон дизайна или есть что-то еще?