flask 数据库一对一
时间: 2023-08-12 18:24:28 浏览: 103
在 Flask 中使用一对一关系的数据库模型,可以通过使用外键来实现。以下是一个使用 SQLAlchemy 的示例模型:
``` python
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(50))
profile = db.relationship('UserProfile', uselist=False, back_populates='user')
class UserProfile(db.Model):
id = db.Column(db.Integer, primary_key=True)
address = db.Column(db.String(200))
user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
user = db.relationship('User', back_populates='profile')
```
在这个例子中,`User` 和 `UserProfile` 模型之间是一对一的关系。`UserProfile` 模型使用了 `user_id` 外键引用了 `User` 模型的主键,并通过 `db.relationship` 指定了反向关系。同时,`User` 模型也使用了 `db.relationship` 指定了与 `UserProfile` 模型的关系。
在使用时,可以通过以下方式创建和查询一对一关系的记录:
``` python
user = User(name='John')
profile = UserProfile(address='123 Main St.')
user.profile = profile
db.session.add(user)
db.session.commit()
user = User.query.filter_by(name='John').first()
print(user.profile.address)
```
这样就可以创建一对一关系的数据库模型,并进行数据的增删改查操作。
阅读全文