一对多关系实现
无纤尘
一对多关系实现:
1、新建模型:
在db_demo1中新建一个Article,User表。(文章表,用户表)
# ORM模型
class Article(db.Model):
__tablename__ = 'article'
id = db.Column(db.Integer,primary_key=True,autoincrement=True)
title = db.Column(db.String(100),nullable=False)
content = db.Column(db.Text,nullable=False)
# 外键:
# 1、外键的数据类型一定要和所引用字段类型一致。
# 2、db.Foreignkey("表名字.段名")
# 3、外键是数据库层面的。
author_id = db.Column(db.Integer,db.ForeignKey("User.id"))
# relationship(关系):
# 1、第一个参数是模型的名字,必须要和模型的名字保持一致
# 2、backref(back reference),代表反向引用。
author = db.relationship("User",backref="articles")
class User(db.Model):
__tablename__ = 'User'
id = db.Column(db.Integer,primary_key=True,autoincrement=True)
username = db.Column(db.String(200),nullable=False)
在主函数添加:
db.create_all()
效果图:
2、操纵数据:
一对多关系数据添加:
#添加数据
@app.route("/otm")
def one_to_many():
article1 = Article(title = "迷途",content = "xxx")
article2 = Article(title = "彼岸",content = "yyy")
user1 = User(username = "yueyue")
# 绑定关系
article1.author = user1
article2.author = user1
# 提交
db.session.add(article1,article2)
db.session.commit()
# 打印
print(user1.articles)
return"otm数据操作成功"
版权协议须知!
本篇文章来源于 岳岳 ,如本文章侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
1330 0 2021-10-30