我想创建一个列的浮动类型当天的每个小时列。 如何摆脱这个冗长的语法:动态生成SqlAlchemy模型与Postgres中的字段
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)
另一个问题是,我该如何执行上的值(例如0 < =值< = 1)检查?
作为验证?那么我如何整齐地设置24个字段的验证?
我可以用SqlAlchemy添加一个检查约束吗?
如果你真的想在你的表24列,有什么详细的方法是错误的。你可以编写一个[验证器](http://docs.sqlalchemy.org/en/rel_0_9/orm/mapped_attributes.html#simple-validators)进行限制检查。 – Selcuk
然后我会发布这个问题“在SqlAlchemy中动态生成验证器” – Alain1405