我有两个与表vul_to_threat关联的模型(Threat_db,Vulnerability_db),这是多对多关系 Threat_db模型是静态的(我们只能创建和放置一次数据),而Vulnerability_db模型是动态的(它一直在变化)
vul_to_threat=db.Table("vul_to_threat",
db.Column('id_vul',db.Integer,db.ForeignKey('vulnerability_db.vuln_id')),
db.Column('id_threat',db.Integer,db.ForeignKey('threat_db.threat_id'))
)
class Threat_db(db.Model):
threat_id=db.Column(db.Integer,primary_key = True)
threat_name = db.Column(db.String(30),unique=True)
def __init__(self, threat_name):
self.threat_name = threat_name
class Vulnerability_db(db.Model):
vuln_id = db.Column(db.Integer, primary_key = True)
title = db.Column(db.String(150),nullable=False,unique=True)
assoc_threat_to_vul_table = db.relationship('Threat_db',secondary="vul_to_threat",backref=db.backref('assoc_threat__backref'))
def __init__(self, title):
self.title = title
我的问题是我如何才能将数据添加到Vulnerability_db中并将其(在vul_to_threat表中)关联到Treat_db中的一行或多行,而不必仅在Vulnerability_db中将任何数据添加到Treat_db中
for i in vul_list:
if not exist_in_db(i,"vul"):
temp_assoc=Vulnerability_db(i)
temp_assoc.assoc_threat_to_vul_table.append(Threat_db(i))
db.session.add(temp_assoc)
db.commit()
在这段代码中,我可以在模型之间建立关联,但是我也将数据添加到Threat_db中(由于append),该如何解决呢?希望这是可以理解的 谢谢