Форум сайта python.su
0
Доброго времени суток.
Возник вопрос, о том как добавить в БД, при помощи алхимии данные из списка(словаря).
Моя попытка сделать это при помощи цикла for приводит к ошибке TypeError: ‘bool’ object is not iterable
Собственно код:
... class University(Base): __tablename__ = 'univer' id = Column(Integer, primary_key=True, autoincrement=False) title = Column(Unicode) def __init__(self, id, title): self.id = id self.title = title # имеются 2 списка universities_id и universities_title # вариант №1 univers=dict(zip(universities_id, universities_title)) # делаю словарь из списков for id,title in (univers.items()): session.add(University(id, title)) session.commit()
Офлайн
39
Зачем так над базой издеваться. Для этого есть метод add_all. Он получает последовательность объектов (список или набор) и их обрабатывает. Т.е. просто создаете список из объектов и передаете этому методу.
P.S. Мог бы написать в скайп…
Офлайн
0
4kpt_IIIВсе оказалось плачевнее, чем было на самом деле: в классе, была строчка с relationship, в которой я опять допустил одну и ту же ошибку
Зачем так над базой издеваться. Для этого есть метод add_all. Он получает последовательность объектов (список или набор) и их обрабатывает. Т.е. просто создаете список из объектов и передаете этому методу.P.S. Мог бы написать в скайп…
- backref = True, вместо названия таблицы. Оттого и получал такую ошибку.
Отредактировано Astronaut (Март 27, 2015 14:58:51)
Офлайн