一对一关系实现
无纤尘
一对一关系实现:
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数据操作成功"
版权协议须知!
本篇文章来源于 岳岳 ,如本文章侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
1425 0 2021-11-01