根据我对 SQLAlchemy 的理解,为了向会话添加模型,我需要调用session.add(obj). 但是,出于某种原因,在我的代码中,SQLAlchemy 似乎会自动执行此操作。
它为什么这样做,我该如何阻止它?我是否以正确的方式接近会议?
例子
>>> from database import Session as db
>>> import clients
>>> from instances import Instance
>>> from uuid import uuid4
>>> len(db.query(Instance).all())
>>> 0 # Note, no instances in database/session
>>> i = Instance(str(uuid4()), clients.get_by_code('AAA001'), [str(uuid4())])
>>> len(db.query(Instance).all())
>>> 1 # Why?? I never called db.add(i)!
Run Code Online (Sandbox Code Playgroud)
数据库.py
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker, scoped_session
from sqlalchemy.ext.declarative import declarative_base
import config
Base = declarative_base()
class Database():
def …Run Code Online (Sandbox Code Playgroud)