python flask 一张表如何建立父子关系
在 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.relationship 和 db.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 的实际应用中,还需要进行数据库迁移和其他相关设置。这里只是提供了一个简单的示例来演示如何建立父子关系。
原文地址: https://www.cveoy.top/t/topic/jb6t 著作权归作者所有。请勿转载和采集!