如何在python中使用sqlalchemy查询关系数据库

2024-06-02 07:38:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下数据库:

enter image description here

permission_id and contract_id have a relationship in the database

如何使用python删除条目,例如。。如果数据库中第1行所示的同一条目中存在权限_id=2和合同_id=2,我希望能够将其从数据库中删除

我试过PermissionEntity.query.get(contract_id) and PermissionEntity.query.get(permission_id) 但似乎不起作用

请帮忙

对初始问题的更正:

你能告诉我,如果这个关系被存储在其他地方,我将如何删除它吗?。。。目前,我意识到它不是存储在权限实体中,而是一个单独的表,它与合同表中的合同和权限表中的权限(两个单独的表)有关系。。换句话说,访问关系表并删除,因为我没有用于它的实体


Tags: andin实体id数据库权限get关系
1条回答
网友
1楼 · 发布于 2024-06-02 07:38:20

假设您将SQLAlchemy实例化为db,那么这将起作用:

result = db.session.query(
  PermissionEntity
  ).filter(and_([PermissionEntity.contract_id==2, PermissionEntity.permission_id==2]
  ).all()

"""
result is a list object due to all()...if you only want to remove the
first instance, then use first() and you do not need to iterate through a
list like below.
"""

for i in result:
  i.remove()

db.session.commit()

相关问题 更多 >