0
所以我對聲明性SQLAlchemy有一個有趣的用例:我需要定義大約十個不同的sqlalchemy類,每個類有幾百列。然而,這些對象將主要存儲數據的「通道」的排列,因此列將被命名爲:SQLAlchemy Mass-Column Creation
channel_51, channel_52 ... channel_272, channel_273
我可以保持與聲明中的類一個巨大的文件,但每個類永遠是形式的channel_n到channel_m。有沒有什麼辦法可以將它變成每個類的幾行代碼而不是300個單獨的行?挑戰在於它們需要在頂層定義以便metadata.create_all()
函數可見,並且不能僅在初始化期間添加到類中。我想的東西等同於:
for i in range(n,m):
setattr(self, 'channel_%d' %i, Column(sqlalchemy.types.Float))
除了它需要在類的頂級合作