Объект SQLAlchemy, переданный в класс, теряет изменения - PullRequest
0 голосов
/ 11 декабря 2018

У меня проблема с передачей объектов 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 или потерянные, никогда не фиксируются.Я использую здесь неправильный шаблон дизайна или есть что-то еще?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...