是否有可能删除模型(不确定它是在SQLAlchemy中调用的,我来自Django)而不实际查询并加载会话中的完整对象? IE浏览器。像这样的东西:
a = MyModel()
a.uid = 2 # this is the primary key
sess.delete(a)
然而,这会引发错误:sqlalchemy.exc.InvalidRequestError: Instance '<MyModel at 0x7f69d112e210>' is not persisted
我不想instance = session.query(MyModel).filter_by(uid=1).first()
然后delete
,因为我已经有了ID,我不想做无用的查询。
答案 0 :(得分:12)
如果您不想使用原始SQL,ORM查询也可以delete objects:
session.query(MyModel).filter(MyModel.uid == 2).delete()
session.commit()
答案 1 :(得分:0)
然后,为什么你不能使用像this
这样的session.execute
session.execute(
"DELETE FROM mymodal WHERE uid=:param",
{"param":2}
)
session.flush()