Я построил таблицу в 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.