【发布时间】:2014-07-26 11:34:11
【问题描述】:
我目前正在使用烧瓶开发应用程序,但在删除一对一关系中的项目时遇到了很大问题。我的模型中有以下结构:
class User(db.Model):
__tablename__ = 'user'
user_id = db.Column(db.String(8), primary_key = True)
password = db.Column(db.String(26))
class Student(db.Model):
__tablename__ = 'student'
user_id = Column(db.String(8), ForeignKey('user.user_id'), primary_key = True)
user = db.relationship('User')
class Professor(db.Model):
__tablename__ = 'professor'
user_id = Column(db.String(8), ForeignKey('user.user_id'), primary_key = True)
user = db.relationship('User')
如果我删除用户,我想做的是删除学生或教授。我尝试使用下面的代码对其进行测试,但是,当我检查我的数据库时,学生和教授仍然在那里,我的测试没有通过。我在设置关系时尝试包含级联参数,但它不起作用。我在网上找到了使用这个参数:single_parent=True,但它也不起作用。
user1 = User(user_id='user1234',password='alsdjwe1')
user2 = User(user_id='user2345',password='asfr5421')
student1 = Student(user = user1)
professor1 = Professor(user = user2)
db.session.delete(user1)
db.session.delete(user2)
如果有人能帮我解决这个问题,我会很高兴。
非常感谢,
蒂亚戈。
【问题讨论】:
标签: python flask sqlalchemy flask-sqlalchemy