在flask和sqlalchemy
中,有3个表彼此嵌套:
models.py
:
class VariantManualReview( db.Model ) :
__tablename__ = 'variantmanualreview'
id = db.Column(db.Integer, primary_key=True, unique = True)
name = db.Column(db.String(256), index=True, unique=True)
last_review_on = db.Column(db.DateTime, index=True, default=datetime.now)
revisions = db.relationship('VariantManualRevisions', backref='author', lazy='dynamic')
class VariantManualRevisions( db.Model ) :
__tablename__ = 'variantmanualrevisions'
variant_id = db.Column(db.Integer, db.ForeignKey('variantmanualreview.id'))
id = db.Column(db.Integer, primary_key=True, unique = True)
reviewed_on = db.Column(db.DateTime, index=True, default=datetime.now)
reviewed_by = db.Column(db.String(128))
ACMG_overall = db.Column(db.String(16))
subcategories = db.relationship('VariantManualRevisionsSubcategories', backref='author', lazy='dynamic')
class VariantManualRevisionsSubcategories( db.Model ) :
__tablename__ = 'variantmanualrevisionssubcategories'
revision_id = db.Column(db.Integer, db.ForeignKey('variantmanualrevisions.id'))
id = db.Column(db.Integer, primary_key=True, unique = True)
reviewed_on = db.Column(db.DateTime, index=True, default=datetime.now)
reviewed_by = db.Column(db.String(128))
category = db.Column(db.String(16))
accepted = db.Column(db.Boolean, default=False)
notes = db.Column(db.String(256))
studies = db.relationship('VariantManualRevisionsSubcategoriesPMIDs', backref='author', lazy='dynamic')
在某些情况下,在验证表单时,我需要同时为所有3个表插入一个条目,我试图插入并检索它们,但一次执行所有这些更改似乎并不是最佳选择,此外,在每个commit()
语句失败后,页面会重新加载:
if
我环顾四周,但没有找到答案,有人知道如何做吗?
非常感谢您的帮助。