Python 在SQLAlchemy中填充表的最佳方法是什么?

Python 在SQLAlchemy中填充表的最佳方法是什么?,python,flask,sqlalchemy,Python,Flask,Sqlalchemy,我正在尝试创建web应用程序用户的可能角色列表。如果我这样定义角色表: roles=db.Table( “角色”, db.Model.metadata, db.Column(“role_id”,db.Integer,db.ForeignKey(“task.id”),primary_key=True), db.Column(“名称”,db.String(32)), ) 如果我只想做一次(在数据库创建时),然后再也不向其中添加任何行,那么填充它的最佳方法是什么?我相信这个范例被称为“数据库种子”,

我正在尝试创建web应用程序用户的可能角色列表。如果我这样定义
角色
表:

roles=db.Table(
“角色”,
db.Model.metadata,
db.Column(“role_id”,db.Integer,db.ForeignKey(“task.id”),primary_key=True),
db.Column(“名称”,db.String(32)),
)

如果我只想做一次(在数据库创建时),然后再也不向其中添加任何行,那么填充它的最佳方法是什么?

我相信这个范例被称为“数据库种子”,这可能会在你搜索答案时帮到你

我在网上浏览了一下,发现了以下内容:

从烧瓶导入烧瓶
从flask_sqlalchemy导入sqlalchemy
从烧瓶播种机进口烧瓶播种机
def create_app():
app=烧瓶(名称)
db=SQLAlchemy()
db.init_应用程序(应用程序)
播种机=烧瓶播种机()
seeder.init_应用程序(应用程序,数据库)
返回应用程序
然后,您可以使用种子创建另一个文件

来自flask_播种机进口播种机、仿造机、发电机
#SQLAlchemy数据库模型
类用户(基本):
定义初始化(self,id\u num=None,name=None,age=None):
self.id\u num=id\u num
self.name=名称
self.age=年龄
定义(自我):
返回“ID=%d,Name=%s,Age=%d”%(self.ID\u num,self.Name,self.Age)
#所有播种机都从播种机继承
类别:播种机(播种机):
#run()将由烧瓶播种器调用
def运行(自):
#创建一个新的伪造者,并告诉它如何创建用户对象
骗子(
cls=用户,
初始化={
“id_num”:生成器.Sequence(),
“name”:生成器.name(),
“年龄”:生成器.Integer(开始=20,结束=100)
}
)
#创建5个用户
对于faker中的用户。创建(5):
打印(“添加用户:%s”%user)
self.db.session.add(用户)
最后,你可以打电话

$ flask seed run
以填充数据库