sqlalchemy.orm.ex c .DetachedInstanceError: экземпляр не привязан к сеансу - PullRequest
0 голосов
/ 27 мая 2020

Я построил таблицу в sqlalchemy:

class Coach(UserMixin, Base):
    __tablename__ = 'coach'
    id = Column(Integer, primary_key=True)
    nickname = Column(String(256), nullable=False)
    email = Column(String(256))
    phone = Column(String)
    photo = Column(String)
    date_create = Column(DateTime, nullable=False, default=datetime.now())

    def __init__(self, nickname, email, phone=None, photo=None, date_create=None):
        self.nickname = nickname
        self.email = email
        self.phone = phone
        self.photo = photo
        self.date_create = date_create

Я привязал данные для вставки в эту модель с помощью этого метода:

def create(cls, nickname, email, phone, photo):
        with AlchemyConnections() as db:
            insertion = md.Coach(nickname, email, phone, photo)
            db.session.add(insertion)
            db.session.commit()
        return insertion

К сожалению, я получил ошибку:

sqlalchemy.orm.exc.DetachedInstanceError: Instance <Coach at 0x7f0c6606d7f0> is not bound to a Session; attribute refresh operation cannot proceed (Background on this error at: http://sqlalche.me/e/bhk3)

Но когда я добавляю в сессию таким образом: db.session.add (md.Coach (ник, электронная почта, телефон, фото)). Он отлично работает, после вставки данных мне нужно вернуть объект этих новых данных, поэтому я создаю переменную с помощью своего модуля Coach.

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