Flask-sqlalchemy多对多关系
来源:互联网 发布:关晓彤用的直播软件 编辑:程序博客网 时间:2024/04/29 15:57
from flask import Flaskfrom flask_sqlalchemy import SQLAlchemyapp = Flask(__name__)app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///./Article2.db'db = SQLAlchemy(app)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): __tablename__ = 'article' id = db.Column(db.Integer,primary_key = True,autoincrement= True) title = db.Column(db.String(100),nullable = False) #让Article和Tag产生关联 #因为Article和Tag表中间还有一个article_tag表,所以添加secondary #假如拿到了一个标签Tag,怎么拿到标签下的所有文章呢.反向引用Article这时用backref tags = db.relationship('Tag',secondary= article_tag,backref = db.backref('articles'))class Tag(db.Model): __tablename__ = 'tag' id = db.Column(db.Integer,primary_key = True,autoincrement= True) name = db.Column(db.String(100),nullable = True)db.create_all() #tag和article_tag共同组成主键@app.route('/')def function(): article1 = Article(title = 'aaa') article2 = Article(title = 'bbb') tag1 = Tag(name = '111') tag2 = Tag(name = '222')#实现多对多关系,一个article有两个标签 # article1.tags.append(tag1) # article1.tags.append(tag2) # article2.tags.append(tag1) # article2.tags.append(tag2) db.session.add(article1) db.session.add(article2) db.session.add(tag1) db.session.add(tag2) db.session.commit() article1 = Article.query.filter(Article.title == 'aaa').first() tags = article1.tags for tag in tags: print(tag.name) return 'index'if __name__ == '__main__': app.run()
阅读全文
0 0
- Flask-sqlalchemy多对多关系
- sqlalchemy 多对多关系
- Flask-SQLAlchemy 配置,处理对象-关系,一对多,多对多,
- 使用flask-sqlalchemy创建一对多的关系表
- Flask-多对多关系
- sqlalchemy多对多关系实现
- sqlalchemy中多对多的关系
- sqlalchemy 一对多关系
- Flask 数据库多对多关系
- Flask 数据库高级多对多关系
- Flask 数据库多对多关系
- sqlalchemy flask-sqlalchemy. session.增加多个项目,用add_all
- sqlalchemy 的一对多关系
- flask-sqlalchemy不同的关系的实例
- Flask-sqlalchemy外键关系映射
- Flask 数据库多对多自引用关系
- 关于flask-sqlalchemy同字段多条件的过滤方法
- sqlalchemy一对多的关系表案例
- 列表:一个打了激素的数组2
- 面试siki老师失败
- hihocoder#1183 : 连通性一·割边与割点(tarjan)
- 伯努利错排列问题
- 1020. 月饼 (25)
- Flask-sqlalchemy多对多关系
- AngularJS 与 server 通信
- Go基础编程:递归函数、函数类型、匿名函数与闭包
- 深度学习优化器算法详解:梯度更新规则+缺点+如何选择
- Flask实现成绩查询接口
- hdu 3507 斜率dp
- ucos-iii学习之同步
- Repeat the Wheel of Deep Neural Networks
- poj1061_青蛙的约会(扩展欧几里得/naked)