我用Flask和Flask SQLAlchemy为ORM制作了一个学费支付应用程序。在
我有一个User
表,我用这个表登录学校帐户和家长帐户。{student}没有学生登录名,而数据存储在cd2表中。在
我想问的是,如何将Student
表与SCOOL_ID
和{User
表。在
一个学生有一个家长,一个学生有一所学校。在
我必须把学校和家长的桌子分开吗。。?在
到目前为止,我已经用这种烧瓶炼金术做过了,但我不确定这是否好。在
class User(db.Model, UserMixin):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(200))
email = db.Column(db.String(120), index=True, unique=True)
password = db.Column(db.String(255))
active = db.Column(db.Boolean())
created_at = db.Column(db.DateTime, default=datetime.utcnow())
updated_at = db.Column(db.DateTime, default=datetime.utcnow())
association_roles = db.Table('association_roles',
db.Column('parent_id', db.Integer, db.ForeignKey('user.id')),
db.Column('school_id', db.Integer, db.ForeignKey('user.id'))
)
class Student(db.Model):
id = db.Column(db.Integer, primary_key=True)
student_registration_number = db.Column(db.String(120), index=True, unique=True)
name = db.Column(db.String(100))
major = db.Column(db.String(50))
created_at = db.Column(db.DateTime, default=datetime.utcnow())
updated_at = db.Column(db.DateTime, default=datetime.utcnow())
association_roles = db.relationship(
'Student', secondary=association_roles,
primaryjoin=(association_roles.c.parent_id == id),
secondaryjoin=(association_roles.c.school_id == id),
backref=db.backref('student', lazy='dynamic'), lazy='dynamic')
那么,怎么做呢。。?,任何帮助都将不胜感激。在
我已经知道我的问题的概念,我必须创建一个表学校和父表,并从表用户继承,下面是代码片段:
相关问题 更多 >
编程相关推荐