我想創建一個列的浮動類型當天的每個小時列。 如何擺脫這個冗長的語法:動態生成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