在SQLAlchemy中按主键删除模型

Edu*_*uca 3 python sqlalchemy

是否可以删除模型(不确定它是在SQLAlchemy中调用的,我来自Django)而不实际查询并加载会话中的完整对象?IE浏览器.这样的事情:

a = MyModel()
a.uid = 2             # this is the primary key
sess.delete(a)
Run Code Online (Sandbox Code Playgroud)

但是这会引发错误: sqlalchemy.exc.InvalidRequestError: Instance '<MyModel at 0x7f69d112e210>' is not persisted

我不想instance = session.query(MyModel).filter_by(uid=1).first()那么delete,因为我已经有了ID,我不想做无用的查询.

tuo*_*mur 13

如果您不想使用原始SQL,ORM查询也可以删除对象:

session.query(MyModel).filter(MyModel.uid == 2).delete()
session.commit()
Run Code Online (Sandbox Code Playgroud)