一对一关系实现

无纤尘

一对一关系实现:
1、新建模型:
新建一个User模型和UserExtension模型:(用户表,用户信息扩展表)

# ORM模型
class User(db.Model):
    __tablename__ = 'User'
    id = db.Column(db.Integer,primary_key=True,autoincrement=True)
    username = db.Column(db.String(200),nullable=False)

class UserExtension(db.Model):
    __tablename__ = "user_extension"
    id = db.Column(db.Integer,primary_key=True,autoincrement=True)
    school = db.Column(db.String(100))
    user_id = db.Column(db.Integer,db.ForeignKey("User.id"))
    # db.backref
    # 1、在反向引用的时候,如果需要传递一些其他参数,那么就用到者个函数
    # 2、uselist = False,代表反向引用的时候,返回的不是列表,而是一个对象。
    user = db.relationship("User",backref=db.backref("extension",uselist = False))

在主文件添加:

  db.create_all()

效果图:
一对一关系实现

2、操纵数据:

#添加数据
@app.route("/oto")
def one_to_one():
    user = User(username = "yueyue")
    extension = UserExtension(school = "清华大学")
    # 绑定
    # user.extension = extension
    extension.user = user

    db.session.add(user)
    db.session.commit()
    return"oto数据操作成功"

效果图:
一对一关系实现

版权协议须知!

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

none

1224 0 2021-11-01


分享:
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
  • 默认
  • 护眼
  • 夜晚
  • 壁纸
  • 默认