I want to create a table with a column for each hour of the day of Float type. How do I get rid of this verbose syntax:
from app import db
class HourlySchedule(db.Model):
id = db.Column(
db.Integer,
primary_key=True
)
h0 = db.Column(db.Float, nullable=True)
h1 = db.Column(db.Float, nullable=True)
h2 = db.Column(db.Float, nullable=True)
h3 = db.Column(db.Float, nullable=True)
h4 = db.Column(db.Float, nullable=True)
h5 = db.Column(db.Float, nullable=True)
h6 = db.Column(db.Float, nullable=True)
h7 = db.Column(db.Float, nullable=True)
h8 = db.Column(db.Float, nullable=True)
h9 = db.Column(db.Float, nullable=True)
h10 = db.Column(db.Float, nullable=True)
h11 = db.Column(db.Float, nullable=True)
h12 = db.Column(db.Float, nullable=True)
h13 = db.Column(db.Float, nullable=True)
h14 = db.Column(db.Float, nullable=True)
h15 = db.Column(db.Float, nullable=True)
h16 = db.Column(db.Float, nullable=True)
h17 = db.Column(db.Float, nullable=True)
h18 = db.Column(db.Float, nullable=True)
h19 = db.Column(db.Float, nullable=True)
h20 = db.Column(db.Float, nullable=True)
h21 = db.Column(db.Float, nullable=True)
h22 = db.Column(db.Float, nullable=True)
h23 = db.Column(db.Float, nullable=True)
Another question is how do I enforce checks on the values (e.g. 0 <= value <=1)?
As validation? Then how do i set validation neatly for 24 fields?
Can I instead add a check constraint with SqlAlchemy?