Python Flask 单表外键实现:使用 SQLAlchemy 建立关系
在 Python Flask 中,可以使用 SQLAlchemy 库来实现单表中的外键关系。下面是一个示例:
首先,确保已经安装了 SQLAlchemy 库:
pip install sqlalchemy
然后,创建一个 Flask 应用,并设置数据库连接字符串:
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///database.db'
db = SQLAlchemy(app)
接下来,定义一个模型类,并在其中使用db.ForeignKey来创建外键:
class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(50))
    role_id = db.Column(db.Integer, db.ForeignKey('role.id'))
class Role(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(50))
    users = db.relationship('User', backref='role')
在上述代码中,User模型中的role_id字段是一个外键,它指向Role模型的id字段。同时,在Role模型中使用db.relationship来定义反向引用。
最后,使用db.create_all()方法创建数据库表格:
db.create_all()
这样,就成功在单表中建立了外键关系。
需要注意的是,外键关系只是在数据库层面实现的,而不是在 Flask 中的 Python 代码中。Flask 本身并不会强制执行外键关系的约束,所以需要在数据库层面进行操作。
原文地址: https://www.cveoy.top/t/topic/hw3B 著作权归作者所有。请勿转载和采集!