Пример #1
0
class Gender(db.Model):
    # Attributes
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(50), unique=True)
    description = db.Column(db.String(255))

    def __init__(self, name, description):
        self.name = name
        self.description = description

    def __repr__(self):
        return '<Gender: %r>' % (self.name)
Пример #2
0
class MeasurementUnit(db.Model):
    # Attributes
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(50), unique=True)
    symbol = db.Column(db.String(10))
    suffix = db.Column(db.Boolean)

    def __init__(self, name, symbol, suffix):
        self.name = name
        self.symbol = symbol
        self.suffix = suffix

    def __repr__(self):
        return '<MeasurementUnit: %r>' % (self.name)
Пример #3
0
class MeasurementType(db.Model):
    # Attributes
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(50), unique=True)
    description = db.Column(db.String(255))
    # Relationships
    measurement_units = db.relationship('MeasurementUnit',
                                        secondary=measurement_units_table,
                                        backref=db.backref('measurement_types',
                                                           lazy='dynamic'))

    def __init__(self, name, description):
        self.name = name
        self.description = description

    def __repr__(self):
        return '<MeasurementType: %r>' % (self.name)
Пример #4
0
class Measurement(db.Model):
    # Attributes
    id = db.Column(db.Integer, primary_key=True)
    datetime = db.Column(db.DateTime)
    value = db.Column(db.Float)
    # Foreign keys
    profile_id = db.Column(db.Integer, db.ForeignKey('profile.id'))
    measurement_source_id = db.Column(db.Integer,
                                      db.ForeignKey('measurement_source.id'))
    measurement_type_id = db.Column(db.Integer,
                                    db.ForeignKey('measurement_type.id'))
    measurement_unit_id = db.Column(db.Integer,
                                    db.ForeignKey('measurement_unit.id'))
    # Relationships
    profile = db.relationship('Profile',
                              backref=db.backref('measurements',
                                                 lazy='dynamic'))
    measurement_source = db.relationship('MeasurementSource',
                                         backref=db.backref('measurements',
                                                            lazy='dynamic'))
    measurement_type = db.relationship('MeasurementType',
                                       backref=db.backref('measurements',
                                                          lazy='dynamic'))
    measurement_unit = db.relationship('MeasurementUnit',
                                       backref=db.backref('measurements',
                                                          lazy='dynamic'))

    def __init__(self, datetime, value, profile_id, source_id, type_id,
                 unit_id):
        self.datetime = datetime
        self.value = value
        self.profile_id = profile_id
        self.measurement_source_id = source_id
        self.measurement_type_id = type_id
        self.measurement_unit_id = unit_id

    def __repr__(self):
        return '<Measurement: %r>' % (self.datetime)
Пример #5
0
class Profile(db.Model):
    # Attributes
    id = db.Column(db.Integer, primary_key=True)
    last_name = db.Column(db.String(50))
    first_name = db.Column(db.String(50))
    gender = db.Column(db.Integer)
    birthday = db.Column(db.Date)
    # Foreign keys
    gender_id = db.Column(db.Integer, db.ForeignKey('gender.id'))
    # Relationships
    gender = db.relationship('Gender',
                             backref=db.backref('profiles', lazy='dynamic'))

    def __init__(self, last_name, first_name, birthday, gender_id):
        self.last_name = last_name
        self.first_name = first_name
        self.birthday = birthday
        self.gender_id = gender_id

    def __repr__(self):
        return '<Profile: %r %r>' % (self.first_name, self.last_name)
Пример #6
0
from app.mod_shared.models import db

# Many-to-many relationship tables
measurement_units_table = db.Table(
    'measurement_units_table',
    db.Column('measurement_unit_id', db.Integer,
              db.ForeignKey('measurement_unit.id')),
    db.Column('measurement_type_id', db.Integer,
              db.ForeignKey('measurement_type.id')),
    db.PrimaryKeyConstraint('measurement_unit_id', 'measurement_type_id'))


class MeasurementType(db.Model):
    # Attributes
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(50), unique=True)
    description = db.Column(db.String(255))
    # Relationships
    measurement_units = db.relationship('MeasurementUnit',
                                        secondary=measurement_units_table,
                                        backref=db.backref('measurement_types',
                                                           lazy='dynamic'))

    def __init__(self, name, description):
        self.name = name
        self.description = description

    def __repr__(self):
        return '<MeasurementType: %r>' % (self.name)