Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在Flask SQLAlchemy数据库模型中创建并插入具有列表字段的表?_Python_Sqlalchemy - Fatal编程技术网

Python 如何在Flask SQLAlchemy数据库模型中创建并插入具有列表字段的表?

Python 如何在Flask SQLAlchemy数据库模型中创建并插入具有列表字段的表?,python,sqlalchemy,Python,Sqlalchemy,我有一个简单的数据库模型来代表一个团队。每个团队可以有4名团队成员,每个成员的姓名和T恤尺寸都将被存储 from app import db class Team(db.Model): id = db.Column(db.Integer, primary_key=True) team_name = db.Column(db.String(64), nullable=False, index=True, unique=True) college_name = db.Col

我有一个简单的数据库模型来代表一个团队。每个团队可以有4名团队成员,每个成员的姓名和T恤尺寸都将被存储

from app import db

class Team(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    team_name = db.Column(db.String(64), nullable=False, index=True, unique=True)
    college_name = db.Column(db.String(64), nullable=False)
    email = db.Column(db.String(64), nullable=False, unique=True)
    phone = db.Column(db.String(10), nullable=False)
    team_members = [db.Column(db.String(64), default="-") for _ in range(4)]
    tshirt_sizes = [db.Column(db.String(2), default="-") for _ in range(4)]
我使用的是Flask Migrate,当数据库初始化时,不会创建团队成员和T恤尺寸的列。如何创建具有所需列数的表,以及如何向表中插入数据


Django有,我正在寻找类似的东西。

您能为
TeamMember
TshirtSize
再创建两个表,然后使用关系进行映射吗?这似乎是人们通常会做的事情。这可能会帮助你:即使你尝试过的方式是这样的,它也会适得其反,因为团队成员和衬衫尺码会形成重复的群体。按照@k-nut的建议执行。如果您坚持非规范化,那么解决方案就是像通常那样创建列:
team\u member\u 1=db.Columb(…)
等。或者如果使用Postgres或其他支持数组的db,则使用数组类型列。此外,如果您坚持,但您的db没有数组或JSON类型,则可以创建一个。