Flask-SQLAlchemy插入多个字典

我有一个像这样的模型:

class Schedule(db.Model):
    __tablename__ = 'schedule'
    id = db.Column(db.Integer, primary_key=True)
    day = db.Column(db.Enum(DayNameList, name='day'))
    start_at = db.Column(db.Time())
    end_at = db.Column(db.Time())

如果插入一本字典,我们可以使用这种方式

time_schedule = {'day': 'Wednesday', 'end_at': '03:00', 'start_at': '02:00'}
schedule = Schedule(**time_schedule)
db.session.add(schedule)
db.session.commit()

现在,我想在列表中插入多个词典。这是我的字典的片段:

list_of_dict_time_schedule = [{'day': 'Wednesday', 'end_at': '03:00', 'start_at': '02:00'}, {'day': 'Friday', 'end_at': '06:00', 'start_at': '17:01'}]

我试图这样插入它:

dictionary_time_schedule = {}
for data in list_of_dict_time_schedule:
    for key, value in data.items():
        dictionary_time_schedule[key] = value

time_schedule = Schedule(**dictionary_time_schedule)

但是,只是将循环中的最后一个字典插入到我的数据库中,它就是:

{'day': 'Friday', 'end_at': '06:00', 'start_at': '17:01'}

那么,如何使用Flask-SQLALchemy ..将列表中的多个字典插入数据库

编辑:我也这样尝试过:

for data in list_of_dict_time_schedule:
    time_schedule = Schedule(day=data['day'], start_at=data['start_at'], end_at=data['end_at'])

但是仍然与上面相同,只是将循环列表上的最新字典插入到数据库中。

咖啡因迈克

如注释中所述,您需要将每个新对象添加到会话中。另外,您可以使用.from_dict()方法“自动填充”您的类属性

schedules = [{'day': 'Wednesday', 'end_at': '03:00', 'start_at': '02:00'}, {'day': 'Friday', 'end_at': '06:00', 'start_at': '17:01'}]
for sched in schedules:
    new_schedule = Schedule().from_dict(sched)
    db.session.add(new_schedule)
db.session.commit()

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从Flask应用程序中的函数返回多个字典的列表/元组作为输出?

来自分类Dev

Flask / SQLAlchemy插入数据库

来自分类Dev

使用Flask-SQLAlchemy批量插入

来自分类Dev

Flask-SQLAlchemy多对多插入

来自分类Dev

无法使用 Flask 和 SQLAlchemy 插入行

来自分类Dev

Flask-SQLAlchemy按多个聚合分组

来自分类Dev

flask sqlalchemy关系中的多个外键

来自分类Dev

Flask SQLAlchemy分页错误

来自分类Dev

Flask SQLAlchemy关系

来自分类Dev

Flask-SQLAlchemy TimeoutError

来自分类Dev

Flask/SQLAlchemy Insert Into Database

来自分类Dev

Flask + SqlAlchemy ALTER表

来自分类Dev

Flask SQLAlchemy关系

来自分类Dev

无法安装Flask SQLAlchemy

来自分类Dev

Flask 会话字典被重置

来自分类Dev

设置多对多sqlalchemy flask app sqlite db的插入顺序

来自分类Dev

如何使用flask-sqlalchemy多次插入多对多关系?

来自分类Dev

无法使用FLASK + SQLALCHEMY将数据插入Mysql

来自分类Dev

在flask-sqlalchemy中插入,删除等之前执行任务

来自分类Dev

Python Flask SQLAlchemy将新列插入表-Heroku Postgresql

来自分类Dev

在flask-sqlalchemy上使用多个值进行过滤

来自分类Dev

如何返回多个模型/表flask-sqlalchemy?

来自分类Dev

在多个uWSGI进程中使用Flask-SQLAlchemy

来自分类Dev

您可以并行运行多个Flask SQLAlchemy查询吗?

来自分类Dev

在flask-sqlalchemy中无法检索包含多个单词的模型

来自分类Dev

我避免多个flask-sqlalchemy db条目的方法

来自分类Dev

Flask SQLAlchemy:具有多个父级的子表?

来自分类Dev

PyCharm解析-flask.ext.sqlalchemy与flask_sqlalchemy

来自分类Dev

在Flask的多个蓝图中插入一个函数