ошибка sqlalchemy.orm.exc.DetachedInstanceError: Родительский экземпляр не привязан к сеансу

#flask #flask-sqlalchemy

Вопрос:

 sqlalchemy.orm.exc.DetachedInstanceError: Parent instance <Draft at 0x7f39bec37828> is not bound to a Session; 
    lazy load operation of attribute 'childProccess' cannot proceed (Background on this error at: http://sqlalche.me/e/13/bhk3)
 

У меня есть такая модель, как черновик, и она имеет отношение к:

 childProccess = relationship(
    childProccess,
    primaryjoin=and_(
        childProccess.draft_id == id,
    ),
)
 

Когда я пытаюсь запросить это, я получаю эту ошибку, которую я опубликовал

Редактировать

моя логика базы данных настроена примерно так

 ENGINE = None


def get_engine():
    global ENGINE

    if ENGINE is None:
        config_name = os.getenv("EXEC_ENVIRONMENT") or "dev"
        configurations = config_by_name[config_name]
        ENGINE = create_engine(
            configurations.SQLALCHEMY_DATABASE_URI,
            poolclass=configurations.SQLALCHEMY_POOLCLASS,
        )

    return ENGINE


def get_session() -> sessionmaker():
    session_maker = sessionmaker(bind=get_engine(), expire_on_commit=False)
    session = scoped_session(session_maker)
    return session()  
 

Комментарии:

1. Не могли бы вы поделиться логикой настройки подключения к базе данных.

2. @MattSeymour вопрос обновлен, сэр

3. Draft Экземпляр не находится в сеансе. Откуда это берется? Он только что был создан?

4. @snakecharmerb да, это так . 1-й я создаю черновик . затем некоторые данные добавляются в childProccess . и когда я запрашиваю черновик, я получаю эту ошибку

5. Так что делать session.add(my_draft_instance) ?