【问题标题】:Create tables with many attributes in SQLite via Python - best way?通过 Python 在 SQLite 中创建具有许多属性的表 - 最好的方法?
【发布时间】:2021-07-26 03:14:28
【问题描述】:

对于一个项目,我必须使用 ORM 通过 Python 在 SQLite 中创建一个具有 51 个属性的表,因此将表定义为类。结构类似这张表,只是y1-y50,都差不多。

class Train(Base):
    __tablename__ = 'train'
    #Name columns and attributes
    x = db.Column(db.Float, primary_key = True, nullable = False)
    y1 = db.Column(db.Float)
    y2 = db.Column(db.Float)
    y3 = db.Column(db.Float)
    y4 = db.Column(db.Float)

我现在可以复制这些 yi 变量,粘贴并调整它们。但是有没有更好的方法呢?我应该通过 for i in range() 循环来定义变量吗?解决这个问题的最佳方法是什么?

已经谢谢你了! 保罗

【问题讨论】:

    标签: python sqlite oop sqlalchemy orm


    【解决方案1】:

    试试这个:

    for i in range(50):
        setattr(Train, f"y{i+1}", db.Column(db.Float))
    

    【讨论】:

    • for i in range(1, 51) 而不是每个循环都执行一个加法
    • @gold_cy 不是瓶颈。
    • 虽然是不必要的操作
    猜你喜欢
    • 2011-01-17
    • 1970-01-01
    • 1970-01-01
    • 2012-10-16
    • 2012-01-13
    • 1970-01-01
    • 1970-01-01
    • 2015-11-10
    • 2015-05-01
    相关资源
    最近更新 更多