You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

44 lines
2.2 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 导入数据库实例db和datetime模块
from app import db
from datetime import datetime
# 定义监测点模型MonitorPoint继承自db.Model
class MonitorPoint(db.Model):
# 设置表名为'monitor_points'
__tablename__ = 'monitor_points'
# 定义id列整数类型作为主键
id = db.Column(db.Integer, primary_key=True)
# 定义name列字符串类型最大长度64不允许为空
name = db.Column(db.String(64), nullable=False)
# 定义location列字符串类型最大长度128允许为空
location = db.Column(db.String(128))
# 定义description列字符串类型最大长度256允许为空
description = db.Column(db.String(256))
# 定义created_at列日期时间类型默认值为当前UTC时间
created_at = db.Column(db.DateTime, default=datetime.utcnow)
# 定义监测数据模型MonitorData继承自db.Model
class MonitorData(db.Model):
# 设置表名为'monitor_data'
__tablename__ = 'monitor_data'
# 定义id列整数类型作为主键
id = db.Column(db.Integer, primary_key=True)
# 定义point_id列整数类型外键关联到monitor_points表的id字段不允许为空
point_id = db.Column(db.Integer, db.ForeignKey('monitor_points.id'), nullable=False)
# 定义dissolved_oxygen列浮点数类型表示溶解氧含量mg/L
dissolved_oxygen = db.Column(db.Float) # 溶解氧 mg/L
# 定义ph_value列浮点数类型表示pH值
ph_value = db.Column(db.Float) # pH值
# 定义temperature列浮点数类型表示温度
temperature = db.Column(db.Float) # 温度 ℃
# 定义ammonia_nitrogen列浮点数类型表示氨氮含量mg/L
ammonia_nitrogen = db.Column(db.Float) # 氨氮 mg/L
# 定义turbidity列浮点数类型表示浊度NTU
turbidity = db.Column(db.Float) # 浊度 NTU
# 定义timestamp列日期时间类型默认值为当前UTC时间
timestamp = db.Column(db.DateTime, default=datetime.utcnow)
# 定义与MonitorPoint的关系建立反向引用'data'
point = db.relationship('MonitorPoint', backref='data')