示例#1
0
class LocalizedData(db.Model):
    __tabletname__ = 'localized_data'
    microstation_id = db.Column(db.String(50),
                                db.ForeignKey("air_quality.microstation_id"),
                                primary_key=True)
    timestamp = db.Column(db.DateTime(timezone=False),
                          db.ForeignKey("air_quality.timestamp"),
                          primary_key=True)
    longitude = db.Column(db.Float(),
                          db.ForeignKey("air_quality.longitude"),
                          primary_key=True)
    latitude = db.Column(db.Float(),
                         db.ForeignKey("air_quality.latitude"),
                         primary_key=True)
    province = db.Column(db.String(80))
    regio = db.Column(db.String(80))
    measurements = db.relationship(
        'AirQuality',
        primaryjoin=
        "and_(AirQuality.microstation_id==LocalizedData.microstation_id, AirQuality.timestamp==LocalizedData.timestamp, AirQuality.longitude==LocalizedData.longitude, AirQuality.latitude==LocalizedData.latitude)"
    )

    def __init__(self, microstation_id, timestamp, longitude, latitude,
                 province, regio):
        self.microstation_id = microstation_id
        self.timestamp = timestamp
        self.longitude = longitude
        self.latitude = latitude
        self.province = province
        self.regio = regio
示例#2
0
class User(db.Model, UserMixin):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(20), unique=True, nullable=False)
    email = db.Column(db.String(120), unique=True, nullable=False)
    image_file = db.Column(db.String(20),
                           nullable=False,
                           default="default.jpg")
    password = db.Column(db.String(60), nullable=False)
    posts = db.relationship('Post', backref='author', lazy=True)

    def __repr__(self):
        return f"User('{self.username}', '{self.email}', '{self.image_file}')"
示例#3
0
class Post(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(100), nullable=False)
    county = db.Column(db.Text, nullable=False)
    years_lived = db.Column(db.Text, nullable=False)
    start_year = db.Column(db.Text, nullable=False)
    end_year = db.Column(db.Text, nullable=True)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)

    def __repr__(self):
        return f"Post('{self.title}', '{self.date_posted}')"
示例#4
0
class AirQuality(db.Model):
    __tablename__ = 'air_quality'
    microstation_id = db.Column(db.String(50),
                                db.ForeignKey("microstation.microstation_id"),
                                primary_key=True)
    timestamp = db.Column(db.DateTime(timezone=False), primary_key=True)
    longitude = db.Column(db.Float(), primary_key=True)
    latitude = db.Column(db.Float(), primary_key=True)
    pressure = db.Column(db.Float)
    temperature = db.Column(db.Float)
    humidity = db.Column(db.Float)
    CO = db.Column(db.Float)
    NH3 = db.Column(db.Float)
    NO2 = db.Column(db.Float)
    CH4 = db.Column(db.Float)
    H2 = db.Column(db.Float)
    C3H8 = db.Column(db.Float)
    C4H10 = db.Column(db.Float)
    C2H5OH = db.Column(db.Float)
    Dust = db.Column(db.Float)

    def __init__(self, microstation_id, timestamp, longitude, latitude,
                 pressure, temperature, humidity, CO, NH3, NO2, CH4, H2, C3H8,
                 C4H10, C2H5OH, Dust):
        self.microstation_id = microstation_id
        self.timestamp = timestamp
        self.longitude = longitude
        self.latitude = latitude
        self.pressure = pressure
        self.temperature = temperature
        self.humidity = humidity
        self.CO = CO
        self.NH3 = NH3
        self.NO2 = NO2
        self.CH4 = CH4
        self.H2 = H2
        self.C3H8 = C3H8
        self.C4H10 = C4H10
        self.C2H5OH = C2H5OH
        self.Dust = Dust
示例#5
0
class Microstation(db.Model):
    __tabletname__ = 'microstation'
    microstation_id = db.Column(db.String(50), primary_key=True)
    microstation_name = db.Column(db.String(50), unique=True)
    sensor_gps = db.Column(db.String(50))
    sensor_dust = db.Column(db.String(50))
    sensor_gas = db.Column(db.String(50))
    sensor_barometer = db.Column(db.String(50))
    measurements = db.relationship('AirQuality',
                                   backref='microstation',
                                   lazy='dynamic')

    def __init__(self, microstation_id, microstation_name, sensor_gps,
                 sensor_dust, sensor_gas, sensor_barometer):
        self.microstation_id = microstation_id
        self.microstation_name = microstation_name
        self.sensor_gps = sensor_gps
        self.sensor_dust = sensor_dust
        self.sensor_gas = sensor_gas
        self.sensor_barometer = sensor_barometer