多对多关系
来源:互联网 发布:mac怎么导入单反照片 编辑:程序博客网 时间:2024/04/30 20:11
实体模型中相关的模型之间为了方便查询需要做到你中有我 我中有你
多对多与一对多实体模型的区别
一对多
- 表设计上是在多方应用少方的主键作为外键约束
- 模型上需要在多方加入一个少方模型对象的属性,在少方加入一个多方对象的列表
- 语法:少方对象=db.relationship(‘少方模型名’,backref=db.backref(‘xxlist’))
多对多
- 表设计上需要建立一个关系表 甲乙双方的主键进行关系映射
- 模型上需要在甲方添加一个乙方模型对象的列表,在乙方添加一个甲方模型对象的列表
- 语法:乙方对象列表名 =db.relationship(‘乙方模型名’,secondary=’数据库关系表名’,backref=db.backref(‘甲方模型对象列表名’))
- 关系表的模型用db.Table()来创建,而不是定义一个关联表实体类
-------关系表模型----------article_tag = db.Table('article_tag', db.Column('article_id', db.Integer, db.ForeignKey('article.id'), primary_key=True), db.Column('tag_id', db.Integer, db.ForeignKey('tag.id'), primary_key=True) )
--多对多模型--class Article(db.Model): id = db.Column(db.Integer, primary_key=True, autoincrement=True) title = db.Column(db.String(100), nullable=False) ---关联关系--- tags = db.relationship('Tag',secondary='article_tag',backref=db.backref('articles'))class Tag(db.Model): id = db.Column(db.Integer, primary_key=True, autoincrement=True) tagname = db.Column(db.String(100), nullable=False)------查询案例--------- article1 = Article.query.filter(Article.title=='aaa').first() for x in article1.tags: print(x.tagname)
阅读全文
0 0
- 多对多关系
- 多对多关系
- hibernate关联关系之多对多关系
- Hibernate关系映射之多对多关系
- JAVA--多对多关系
- Django多对多关系
- hibernate 多对多关系
- 多对多关系中,
- 多对多映射关系
- Sql 多对多关系
- 多对多关联关系
- Flask-多对多关系
- Hibernate多对多关系
- hibernate 多对多关系
- sqlalchemy 多对多关系
- 多对多关系映射
- 多对多关系映射
- django之多对多关系
- P1514 引水入城
- AxureRP使用方法
- 【bzoj 3997】组合数学(DP)
- openwrt zlib
- HTML+CSS学习笔记6
- 多对多关系
- Deepmind "预测地图"论文背后:神经科学或将助力AI迎来新突破
- 谷歌AI智商达苹果Siri两倍 但不及6岁儿童
- Python 干货网站
- 用深度学习模型,解构并重构人类思维
- 2017年诺奖:百年现代物理学,今天做了个了断!
- STM32的printf函数重定向
- OS学习笔记一: 中断与异常
- angularjs数据绑定