在 Flask 中使用 SQLAlchemy 可以创建数据库并定义模型类来实现文件、测段、测站和监测点之间的关系。下面是一个示例:

  1. 创建数据库和表

首先需要安装 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'))
  1. 创建数据库表

在 Flask 应用程序中运行以下命令来创建数据库表:

with app.app_context():
    db.create_all()
  1. 删除数据库表及数据

如果需要删除数据库表及其中的数据,可以在 Flask 应用程序中运行以下命令:

with app.app_context():
    db.drop_all()

这将删除所有表及其数据。

请注意,以上示例中使用的是 SQLite 数据库,你可以根据自己的需求选择其他数据库。

Python Flask 数据库设计:多层级数据模型创建与删除

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

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