在 Flask 中,构建父子关系的一种常见方法是使用外键(Foreign Key)来连接两张表。

首先,需要在父表中添加一个外键字段,该字段将引用子表中的主键。可以使用 SQLAlchemy 来定义模型类和建立父子关系。以下是一个简单的示例:

from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///example.db'
db = SQLAlchemy(app)

class Parent(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(255), nullable=False)

class Child(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(255), nullable=False)
    parent_id = db.Column(db.Integer, db.ForeignKey('parent.id'))
    parent = db.relationship('Parent', backref=db.backref('children', lazy=True))

在上面的示例中,Parent 表有一个外键 parent_id,它引用了 Child 表的主键 id。通过 db.relationshipdb.backref,可以在 Parent 表中创建一个 children 属性,用于访问与之关联的子表记录。

要创建父子关系的记录,可以使用以下代码:

parent = Parent(name='Parent 1')
child = Child(name='Child 1', parent=parent)

db.session.add(parent)
db.session.add(child)
db.session.commit()

这将在数据库中创建一个父表记录和一个关联的子表记录。

请注意,在使用 Flask 和 SQLAlchemy 的实际应用中,还需要进行数据库迁移和其他相关设置。这里只是提供了一个简单的示例来演示如何建立父子关系。

python flask 一张表如何建立父子关系

原文地址: https://www.cveoy.top/t/topic/jb6t 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录