一对多关系实现

无纤尘

一对多关系实现:
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数据操作成功"

运行效果图:
一对多关系实现

一对多关系实现

版权协议须知!

本篇文章来源于 岳岳 ,如本文章侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意

none

1077 0 2021-10-30


分享:
icon_mrgreen.gificon_neutral.gificon_twisted.gificon_arrow.gificon_eek.gificon_smile.gificon_confused.gificon_cool.gificon_evil.gificon_biggrin.gificon_idea.gificon_redface.gificon_razz.gificon_rolleyes.gificon_wink.gificon_cry.gificon_surprised.gificon_lol.gificon_mad.gificon_sad.gificon_exclaim.gificon_question.gif
  • 默认
  • 护眼
  • 夜晚
  • 壁纸
  • 默认