У меня есть такая модель:
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'])
Но все то же самое, что и выше, только последний из этих списков циклов вставлен в базу данных.