объект добавляется в базу данных без session.commit () - PullRequest
0 голосов
/ 31 августа 2018

Я сталкиваюсь со странной проблемой, используя SQLAlchemy в моем приложении Flask API, объект добавляется в базу данных, даже несмотря на то, что инструкция фиксации прокомментирована:

try:
  new_project = model.Projects(project_name, project_desc)
  session.add(new_project)
  session.flush()
  session.refresh(new_project)
  # session.commit()
  response = 'OK'
  return response
except Exception as e:
    logging.error("ERROR :"+str(e))  
    session.rollback()
    response = 'ERROR'
    session.close()
    return response

какие-либо объяснения?

РЕДАКТИРОВАТЬ:

вот класс Проекты:

from sqlalchemy.ext.declarative import declarative_base

Base = declarative_base()
class Projects(Base, DictSerializable):
    __tablename__ = 'projects'

    id = Column(Integer, primary_key=True)
    name = Column(String)
    description = Column(String)


    def __init__(self, name, description=None):
        self.name = name
        self.description = description

1 Ответ

0 голосов
/ 31 августа 2018

Вы session, вероятно, были созданы с флагом autocommit=True. Посмотрите, где объект создан и измените это.

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