在 table 中添加多个列,例如在 flask-sqlalchemy 中使用 for / while 循环
Adding multiple columns in a table such as using a for / while loop in flask-sqlalchemy
我想使用包含大约 600 列的 Flask-SQLAlchemy 创建子 table。
每一列应该是一个不同的爱好,布尔值为 true 或 false(无论他是否有这个爱好)。
但是我确实有一个问题。使用 Flask-SQLAlchemy 的模型创建它似乎有问题,因为我必须自己编写每个字段。
即:
class hobbies(database.Model):
id = db.Column(db.Integer, primary_key=True)
user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
hobby1 = db.Column(db.Boolean)
hobby2 = db.Column(db.Boolean)
hobby3 = db.Column(db.Boolean)
....
....
hobby600 = db.Column(db.Boolean)
(database代表保存的变量-database = SQLAlchemy(app))
是否有使用 for 或 while 循环将所有列添加到 table 的方法?
感谢您的宝贵时间。
这是糟糕的 table 设计(无意冒犯),您可以创建 table,如下所示
class Hobbies(database.Model):
id = db.Column(db.Integer, primary_key=True)
hobby = db.Column(db.String(50))
class UserHobbies(database.Model):
user_id = db.Column(db.Integer, db.ForeignKey('user.id'),primary_key=True)
hobbie_id = db.Column(db.Integer, db.ForeignKey('hobbies.id'),primary_key=True)
不要在爱好中创建 600 列 table 只需创建 600 行并创建另一个 table UserHobbies 用于与用户和爱好的多对多关系。
您还可以利用 bulk_insert_mappings(ModelName,list_data)
函数将批量数据插入爱好 table.
我想使用包含大约 600 列的 Flask-SQLAlchemy 创建子 table。
每一列应该是一个不同的爱好,布尔值为 true 或 false(无论他是否有这个爱好)。
但是我确实有一个问题。使用 Flask-SQLAlchemy 的模型创建它似乎有问题,因为我必须自己编写每个字段。
即:
class hobbies(database.Model):
id = db.Column(db.Integer, primary_key=True)
user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
hobby1 = db.Column(db.Boolean)
hobby2 = db.Column(db.Boolean)
hobby3 = db.Column(db.Boolean)
....
....
hobby600 = db.Column(db.Boolean)
(database代表保存的变量-database = SQLAlchemy(app))
是否有使用 for 或 while 循环将所有列添加到 table 的方法?
感谢您的宝贵时间。
这是糟糕的 table 设计(无意冒犯),您可以创建 table,如下所示
class Hobbies(database.Model):
id = db.Column(db.Integer, primary_key=True)
hobby = db.Column(db.String(50))
class UserHobbies(database.Model):
user_id = db.Column(db.Integer, db.ForeignKey('user.id'),primary_key=True)
hobbie_id = db.Column(db.Integer, db.ForeignKey('hobbies.id'),primary_key=True)
不要在爱好中创建 600 列 table 只需创建 600 行并创建另一个 table UserHobbies 用于与用户和爱好的多对多关系。
您还可以利用 bulk_insert_mappings(ModelName,list_data)
函数将批量数据插入爱好 table.