Python Flask 数据库设计:多层级数据模型创建与删除
在 Flask 中使用 SQLAlchemy 可以创建数据库并定义模型类来实现文件、测段、测站和监测点之间的关系。下面是一个示例:
- 创建数据库和表
首先需要安装 SQLAlchemy 和 Flask_SQLAlchemy 库:
pip install SQLAlchemy Flask_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)
接下来,定义模型类来表示文件、测段、测站和监测点:
class File(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(255))
segments = db.relationship('Segment', backref='file', cascade='all, delete-orphan')
class Segment(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(255))
file_id = db.Column(db.Integer, db.ForeignKey('file.id'))
stations = db.relationship('Station', backref='segment', cascade='all, delete-orphan')
class Station(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(255))
segment_id = db.Column(db.Integer, db.ForeignKey('segment.id'))
points = db.relationship('Point', backref='station', cascade='all, delete-orphan')
class Point(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(255))
station_id = db.Column(db.Integer, db.ForeignKey('station.id'))
- 创建数据库表
在 Flask 应用程序中运行以下命令来创建数据库表:
with app.app_context():
db.create_all()
- 删除数据库表及数据
如果需要删除数据库表及其中的数据,可以在 Flask 应用程序中运行以下命令:
with app.app_context():
db.drop_all()
这将删除所有表及其数据。
请注意,以上示例中使用的是 SQLite 数据库,你可以根据自己的需求选择其他数据库。
原文地址: https://www.cveoy.top/t/topic/kxAR 著作权归作者所有。请勿转载和采集!