Flask flask-sqlalchemy 定义多表外键关联
定义了三张表,一个host可以属于多个group,也可以属于多个services
class group(db.Model):
__tablename__ = 'group'
id = db.Column(db.Integer,primary_key=True,autoincrement=True)
gname=db.Column(db.String(60), unique=True)
idc =db.Column(db.String(60),default="ZD")
host_id =db.Column(db.Integer,db.ForeignKey('host.id')
def __repr__(self):
return self.gname
class services(db.Model):
__tablename__ = 'services'
id = db.Column(db.Integer,primary_key=True,autoincrement=True)
sname=db.Column(db.String(60),index=True )
sport=db.Column(db.Integer,index=True )
comment =db.Column(db.String(120) )
host_id =db.Column(db.Integer,db.ForeignKey('host.id'))
def __repr__(self):
return self.sname
class host(db.Model):
__tablename__ = 'host'
id = db.Column(db.Integer,primary_key=True,autoincrement=True)
hostname=db.Column(db.String(60),index=True, )
group = db.relationship('group',backref='host',lazy = 'dynamic')
services = db.relationship('services',backref='host',lazy = 'dynamic')
def __repr__(self):
return self.hostname
问题咨询:
1、这种定义是否正确?
2、如何获取某个组id对应的所有host
谢谢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
按你说的,group和host应该是多对多的关系,而不是一对多。
http://docs.jinkan.org/docs/flask-sqlalchemy/models.html