python多对多删除中间表

jijihahalala 2015-12-25 01:32:28
我定义了多对多关系如下:


classroom_student = Table('class_student', Base.metadata,

Column('classroom_id', Integer, ForeignKey('classroom.id')),
Column('student_id', Integer, ForeignKey('student.id')),
)

class ClassRoom(Base):
__tablename__ = 'classroom'
id = Column(Integer, primary_key=True, nullable=False, autoincrement=True)
name = Column(String(20))
def __init__(self, name):
self.name = name


class Student(Base):
__tablename__ = 'student'
id = Column(Integer, primary_key=True, nullable=False, autoincrement=True)
name = Column(String(20))
classId_studentId = relationship("ClassRoom",
secondary=classroom_student,
backref=backref('classroom_student',cascade="delete, delete-orphan", single_parent=True, passive_deletes=True))
def __init__(self, name):
self.name = name


我想删除ClassRoom或者删除Student时删除class_student该怎么设置,删除ClassRoom时不要删除Student,谢谢回答
...全文
55 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

37,721

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧